node.js - 如何使用node.js在express.js上使用twitter api显示推文?

标签 node.js express twitter

我正在尝试在客户端显示推文。已经尝试使用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.jsapp.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/

相关文章:

javascript - 禁止使用 Meteor 帐户的系统?

node.js - MongoDB:查询结果匹配数组中的任意值

javascript - Socket.io 多次更新

javascript - 如何在回调时将数据存储在express中

amazon-web-services - AWS Elastic Beanstalk HTTPS 不工作

reactjs - 访问 https ://accounts. google.com/o/oauth2/v2/auth 已被 CORS 阻止

php - Twitter 中的关注者数量

node.js - NPM Run Build 始终构建生产而不是开发

javascript - 安装任何 NPM 模块时出错

swift - 如何使用 UIActivityViewController 创建用户交互式推文或 Facebook 帖子