我试图找出我在这个谜题中缺少的东西。 Node.js和Meteor.js。 Meteor是基于Node.js建立的,我知道这一点。但Meteor与Node.js无法正常工作。要么我需要再做20个步骤来获得相同的结果,我不知道它们是什么。或者两者之间存在严重的错误。 Standalone Node.js运行下面的命令就好了。在Meteor上运行相同的命令会导致错误或未定义的结果。希望我有一个解决这个问题的原因,或者他们需要对此进行修补,以便它能够按照应该的方式工作。
examples #1
var fs = require('fs');
fs.readFile('file.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
});
example #2
var jetpack = require('fs-jetpack');
var data = jetpack.read('file.txt');
console.log(data);
example #3
var fs = require ('fs');
var readMe = fs.readFileSync('file.txt', 'utf8');
console.log(readMe);
答案 0 :(得分:0)
您不应该尝试加载这样的文件,因为您不知道文件夹结构是什么样的。 Meteor在开发和生产模式下从项目目录创建构建。这意味着即使项目文件夹中有file.txt
,它也不会在构建中的同一位置结束(或者根本不包含在构建中)。
例如,您的代码尝试从开发构建文件夹.meteor/local/build/programs/server
中读取该文件。但是,此文件夹不包含file.txt
。
解决方案:将file.txt
存储在项目的private
文件夹中,然后使用Assets.getText
进行阅读。如果您仍想使用fs
中的函数加载文件,则可以使用Assets.absoluteFilePath
检索绝对路径。