我正在尝试在客户端显示推文。已经尝试使用express-generator,但它不起作用。 我可以在控制台中看到它们,但无法将它们取出并显示在前面。我确信这应该很简单。 请帮忙! 谢谢
服务器.js
const http = require('http')
const port = 5004;
const app = require('./app')
const mongoConnection = require('./db/config/mongoConnection')
http
.createServer()
.on('request', app)
.on('error', function(error){
switch (error.code){
case 'EADDRINUSE':
console.log('error')
break;
case 'EACCES':
console.log('error de permisos')
break;
default:
throw error;
}
})
.listen(port)
app.js
const express = require('express');
const twitsModel = require('./db/models/twits')
const controller = require('./controller')
const bodyParser = require('body-parser')
const twitter = require('twitter');
const config = require('./config')
const client = new twitter(config);
const params = {
q: 'apple', count: 3
}
const app = express()
.use(bodyParser.urlencoded({extended: true}))
.use(bodyParser.json())
client.get('search/tweets', params, function(error, tweets, response){
console.log(tweets)
})
.use(express.static('./public')) // -----> it does not work
module.exports = app
最佳答案
主文件通常称为server.js
或app.js
。两者兼得并没有多大意义。就您而言,将代码保存在一个文件中会更简单。
const twitsModel = require('./db/models/twits')
const controller = require('./controller')
const bodyParser = require('body-parser')
const twitter = require('twitter');
const config = require('./config')
const client = new twitter(config);
const http = require('http')
const port = 5004;
const mongoConnection = require('./db/config/mongoConnection')
function sendTweet(req, res) {
const params = {
q: 'apple', count: 3
}
client.get('search/tweets', params, function(error, tweets, response){
if(error) {
console.log("Error getting tweets");
return;
}
console.log(tweets);
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(tweets)); // This line sends the tweets to the client making the http request.
});
});
http.createServer(sendTweet).listen(port)
关于node.js - 如何使用node.js在express.js上使用twitter api显示推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51392306/