我有一个脚本将文件写入文件系统,这里是代码:
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,由于某种原因,它擦除了文件内容并且没有写任何内容。
任何建议?
谢谢!
答案 0 :(得分:0)
使用__dirname
代替process.cwd()
... process.cwd()
抓取“当前工作目录”(顾名思义),但是,在S3上,您的代码可能无法执行你认为的目录。相反,使用__dirname
全局,它是CURRENT脚本的路径:
var filepath = path.join(__dirname, '/config/config.js');
答案 1 :(得分:0)
原来我让Node观察文件的更新。使用Mac,您可以观看文件进行更新并仍然可以写入,在Amazons EC2 linux AMI上,如果您正在观看文件,则无法同时观看和书写。