部署到流星服务器时出现 ENOENT 错误
ENOENT Error when deployed to meteor server
我正在使用我的流星项目的 fs 包在服务器启动时打开文件。这在本地测试时工作得很好,但是当我部署到流星服务器时,我收到这个错误。
WARNING Error: ENOENT, open '/server/filename.csv'
WARNING events.js:72
出现错误的代码:
Meteor.startup( function() {
var input = fs.createReadStream(process.env.PWD + 'server/filename.csv');
});
Meteor 不是为使用 fs
读写文件而设计的。当您在生产模式下捆绑 Meteor app/publish 时,文件夹结构与开发中的完全不同。
您可以通过在项目中创建一个名为 private
的目录并将文本文件放入其中来读取静态文件。
然后您可以按照@David Weldon 的建议阅读它们(在服务器端):
var text = Assets.getText("filename.csv");
请记住,不建议使用 fs
读取文件,以防生产模式目录结构在 Meteor 版本之间发生变化。
不建议写入文件,以防您有不同的服务器服务于可能没有以前写入的文件的请求。
我正在使用我的流星项目的 fs 包在服务器启动时打开文件。这在本地测试时工作得很好,但是当我部署到流星服务器时,我收到这个错误。
WARNING Error: ENOENT, open '/server/filename.csv'
WARNING events.js:72
出现错误的代码:
Meteor.startup( function() {
var input = fs.createReadStream(process.env.PWD + 'server/filename.csv');
});
Meteor 不是为使用 fs
读写文件而设计的。当您在生产模式下捆绑 Meteor app/publish 时,文件夹结构与开发中的完全不同。
您可以通过在项目中创建一个名为 private
的目录并将文本文件放入其中来读取静态文件。
然后您可以按照@David Weldon 的建议阅读它们(在服务器端):
var text = Assets.getText("filename.csv");
请记住,不建议使用 fs
读取文件,以防生产模式目录结构在 Meteor 版本之间发生变化。
不建议写入文件,以防您有不同的服务器服务于可能没有以前写入的文件的请求。