节点服务器不写入文件?

我正在用npm运行一个小的twitterstream,将tweets打印到我的控制台。 我想写入磁盘,但我的服务器没有这样做。 这是我的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") 

有几件事情可能发生在这里:

控制台是否logging任何东西? 这可能是因为你的tweetstream实际上不是stream媒体。

你有权写入ISIStweets.json文件吗? 如果该文件已经存在,则可能由正在运行节点的用户以外的人所拥有。 如果该文件不存在,请检查您是否有权写入此目录。