我有一个脚本将文件写入文件系统,这里是代码:
var filepath = path.join(process.cwd(), '/config/config.js'); var file_contents = 'config stuff'; fs.writeFile(filepath, file_contents, function(err) { if(err) { r.errors.push('Could not write config file'); callback(r); } else { callback(r) } });
它在我的MacBook Pro上工作正常。 我在Amazon EC2服务器上安装了NodeJS,由于某种原因,它清除了文件内容,并且不会写任何东西。
有什么build议么 ?
谢谢!
使用__dirname
而不是process.cwd()
… process.cwd()
抓取“当前工作目录”(因为它的名字暗示),但是,在S3上,你的代码可能不会从你认为的目录执行。 相反,使用__dirname
全局是CURRENT脚本的路径:
var filepath = path.join(__dirname, '/config/config.js');
事实证明,我有节点观看文件的更新。 使用Mac你可以观看一个文件的更新,并仍然写入它,似乎在亚马逊EC2的Linux AMI,如果你正在看一个文件,你不能同时观看和写入。