我正在开发一个Node.js项目,该项目使用特定标记获取5条推文,并将其作为列表显示在网页上(仅显示文本)。一旦将它们加载到页面上,我希望每个链接到一个单独的页面,显示其余的信息(用户,日期等)。
通过Twitter的API文档,我相信我必须使用GET状态/ show /:id,但我不确定我是否实际上正确实现了这一点。
我正在使用Node.js,Express.js和Pug。
总之,我有三个问题;如何提取每条推文的ID?如何将提取的ID插入我的Pug模板中的链接?如何通过ID在链接页面上显示推文的其余信息?
这是我的尝试,但正如我所提到的,我对如何使用状态/ show /:id
感到困惑main.js
'use strict';
const express = require('express'),
Twitter = require('twitter'),
request = require('request'),
app = express(),
tweets = [];
const T = new Twitter({
consumer_key: '',
consumer_secret: '',
access_token_key: '',
access_token_secret: ''
});
const params = {
q: 'cool',
count: 5
}
T.get('search/tweets', params, function(err, data, response) {
for(let i = 0; i < data.statuses.length; i++){
tweets.push(data.statuses[i].text);
}
});
T.get('statuses/show/:id', function(data, req, res) {
const statusId = req.params.id;
})
app.set('view engine', 'pug');
app.set('views', './views');
app.use(express.json());
app.use(express.urlencoded({
extended: true
}));
app.use(express.static('resources'));
app.get('/', function(req, res) {
res.setHeader("Content-Type", 'text/html');
res.render('normal', {tweets: tweets});
});
app.listen(3000, function () {
console.log('Listening on http://localhost:3000');
});
layout.pug的相关部分
ul
#tweetCSS
each tweet in tweets
li= tweet //How do I include ID within link here?