node.js - Node 服务器未写入文件?

标签 node.js npm

我正在使用 npm 运行一个小型 Twitter 流,该流将推文打印到我的控制台。我想将它们写入磁盘,但我的服务器没有这样做。这是我的routes.js 文件:

var Twit     = require('twit'), // wrapper on top of twitter api
    dotenv   = require('dotenv'), // used for keys -> get from .env
    fs       = require('fs'); 

module.exports = function(app) {
    dotenv.load();

var T = new Twit({
    consumer_key:           process.env.TWITTER_CONSUMER_KEY,
    consumer_secret:        process.env.TWITTER_SECRET_KEY,
    access_token:           process.env.TWITTER_ACCESS_TOKEN,
    access_token_secret:    process.env.TWITTER_ACCESS_KEY
});



var middleEast = ['29.4' , '33.7' , '37.7' , '46.1' ]
var stream = T.stream('statuses/filter', {track: '#ISIS', language: 'en'})
stream.on('tweet', function(tweet) {

    if (tweet.geo!=null){
        console.log(tweet.geo.coordinates)
    }

    console.log(tweet.text)
    fs.appendFile("./ISIStweets.json", tweet.text)


})

这不会向文件写入任何内容。但是,同一文件夹中的相同代码(如下所示)可以成功写入文件。给出了什么?

var fs = require('fs');

fs.appendFile("./ISIStweets.json", "Hello there!\n")

最佳答案

这里可能发生了一些事情:

控制台是否记录任何内容?可能您的推文流实际上没有传输任何内容。

您是否有权写入 ISIStweets.json 文件?如果该文件已存在,则它可能由运行 Node 的用户以外的其他人拥有。如果该文件不存在,请检查您是否具有在此目录中写入的权限。

关于node.js - Node 服务器未写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111888/

相关文章:

javascript - 运行 npm install 时获取 "npm ERR! code ELIFECYCLE npm ERR! errno 126"

带有一堆 npm 包的 Java War 文件部署

node.js - typescript 不加载 Handlebars 文件

node.js - Sequelize 在创建时抛出 'id must be unique'

node.js - 如何使用Asar打包应用程序,但不包括Electron

javascript - 从响应中解析缓存控制 header 值

reactjs - npm start 和 npm run build 失败并出现 npm ERR!代码生命周期

node.js - 无法在 Ubuntu 中使用 NPM

node.js - 我什么时候应该在 NodeJs net.socket 上使用 socket.pipe()

mysql - 如何使用 mysljs 在 mySql 和 node.js 中批量插入