NodeJS - 在Linux上编写文件的问题 - 在Mac上很好

时间:2011-12-13 00:53:40

标签: linux node.js

我有一个脚本将文件写入文件系统,这里是代码:

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,由于某种原因,它擦除了文件内容并且没有写任何内容。

任何建议?

谢谢!

2 个答案:

答案 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上,如果您正在观看文件,则无法同时观看和书写。