Member 13808012 Ответов: 1

Как использовать 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);
    }
}

1 Ответов

Рейтинг:
1

Afzaal Ahmad Zeeshan

Цитата:
Если я правильно понял, мне нужно использовать Express для обслуживания клиентской части моего проекта (отображение результатов на веб-странице). Является ли это правильным способом использования NodeJS с API или есть другие способы?
О, Нет, нет, нет, вы все ошибаетесь. Express-это серверная оболочка для Node.js, и предоставляет вам услуги программирования на стороне сервера и функциональные возможности. В вашем собственном коде, пожалуйста, проверьте,
// Server is the Express and it is merely returning the HTML; not rendering it.
server.get('/', function(req, res) {
    res.render('index', {title: 'Twitter', data: theTweets});
});

Клиентская библиотека в вашем коде может быть Хоган-экспресс[^] и это будет отвечать за создание динамического HTML - контента и его предоставление. Тем не менее, мы еще не достигли клиентской стороны. Правителем клиентской области является JavaScript. Я не вижу никакой библиотеки JavaScript, которую вы туда вводите.

Но если ты хотел ... обслуживания запросов: Тогда да, вы правы, Экспресс используется для обслуживания запросов в Node.js так как это обеспечивает гибкий способ управления вашим сервером. :-)
Цитата:
Является ли это правильным способом использования NodeJS с API или есть другие способы?
Да, Express-это отличная библиотека для большинства целей, которые вы имеете в виду. Теперь поймите, что вы вызываете API только для того, чтобы получить какой-то результат. В Node.js предпочтительным результатом работы API является документ JSON, так как Node.js имеет встроенную поддержку для этого.

Библиотека Twit определенно будет иметь свою собственную документацию, которую вы можете получить и понять, чтобы продолжить работу.

Цитата:
В моем приложении я использую hogan-express в качестве шаблонного движка, нужно ли мне использовать шаблонный движок или я могу использовать только обычный html?
Вы немного ошибаетесь и в этой части, извините. Хоган-экспресс уже давно устарели по своим менеджером, разработчиком. Проверьте ссылку, которую я прикрепил для hogan-express. Я могу порекомендовать использовать либо Pug, либо EJX, есть много других библиотек шаблонов, но они несколько терпимы. :D

Наконец, простые HTML — файлы не принесут вам никакой пользы, поскольку вам все равно придется использовать шаблон для отображения твитов на странице, иначе статическая страница не будет содержать много информации-если только вы не планируете создавать новую HTML-страницу для каждого запроса.

Пакет-Обалдиа на НПМ[^]

Возможно, вас заинтересует мое имя. Node.js пример, который я создал для начинающих, чтобы попробовать и изучить, он демонстрирует основы Node.js, Express, Pug и еще несколько технологий, которые вы можете найти в репозитории: GitHub - afzaal-ahmad-zeeshan/nodejs-dockerized: Dockerized Node.js применение.[^]