Как использовать nodejs с API
Я пытаюсь создать приложение, которое ищет хэштеги twitter, а затем отображает их на веб-странице. Для этого я использую NodeJS. Я следовал учебнику и заставил его работать.
Однако, как я пытаюсь узнать, у меня есть несколько вопросов:
Если я правильно понял, мне нужно использовать Express для обслуживания клиентской части моего проекта (отображение результатов на веб-странице). Является ли это правильным способом использования NodeJS с API или есть другие способы?
В моем приложении я использую hogan-express в качестве шаблонного движка, нужно ли мне использовать шаблонный движок или я могу использовать только обычный html?
Спасибо Вам за ваши ответы
Что я уже пробовал:
Это мой проект
пакет.в JSON
{ "name": "twitter-express", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.16.3", "hogan-express": "^0.5.2", "twit": "^2.2.9" } }
server.js
var express = require('express'); // create instance of var express var server = express(); server.set('port', process.env.PORT || 3003); server.engine('html', require('hogan-express')); server.set('view engine', 'html'); server.get('/', function(req, res) { res.render('index', {title: 'Twitter', data: theTweets}); }); server.listen(server.get('port'), function() { console.log('Listening on port:' + server.get('port')); }); var Twit = require('twit'); var theTweets = []; var T = new Twit({ consumer_key: 'dhooGTRTJS9kYnOWT19S6Pofj', consumer_secret: 'e7uK3EltqdS0JMuIK7OKdPuNrwpBajuLYq37okJ7plIQeRzPgQ', access_token: '492232617-HMmUUkWTfqgGBo2LKF4cIn1rRO7ujyNAUevgGrZ3', access_token_secret: 'RQjrqMMwNUkTWfK22uKx7tT5Ckk9ddQW3WNY1eo7FXnzy' }); const params = { q: '#nodejs', count: 10, result_type: 'recent', lang: 'en' } T.get('search/tweets', params, getData); function getData(err, data, response) { var tweets = data.statuses; for (var i = 0; i < tweets.length; i++) { theTweets.push(tweets[i].text); } }