ENOENT部署到流星服务器时出错

时间:2015-02-16 02:24:19

标签: deployment meteor fs

我正在使用fs包为我的meteor项目在服务器启动时打开一个文件。这在本地测试时工作得很好,但是当我部署到流星服务器时,我收到了这个错误。

WARNING Error: ENOENT, open '/server/filename.csv'
WARNING events.js:72

出现错误的代码:

Meteor.startup( function() {
   var input = fs.createReadStream(process.env.PWD + 'server/filename.csv');
});

1 个答案:

答案 0 :(得分:3)

Meteor并非专为使用fs读取和写入文件而设计。当您将Meteor应用程序捆绑/以生产模式发布时,文件夹结构与开发中的内容完全不同。

您可以通过在项目中创建名为private的目录并将文本文件放入其中来读取静态文件。

然后您可以阅读它们(在服务器端)@David Weldon建议:

var text = Assets.getText("filename.csv");

请记住,不建议使用fs读取文件,因为Meteor版本之间的生产模式目录结构会发生变化。

如果您有一台服务于请求的服务器可能没有以前写入的文件,建议不要写文件。