我对Meteor还是很陌生,所以如果我很抱歉,这是一个愚蠢的问题:
如何从服务器端的文件系统读取文件,并在客户端显示这些内容。同步执行此操作不是问题,因为我可以立即将其退回,但据我了解,阅读失败了Meteor的目的,因此我尝试异步进行。但是我不知道如何以这种方式连接客户端/服务器。发布/订阅似乎仅适用于db集合,而不适用于文件系统文件。您能给我的任何指导将不胜感激。
if (Meteor.isClient) {
Template.body.helpers({
myfile: function(){
return file_contents;
}
});
}
if (Meteor.isServer) {
Meteor.methods({
myfile: function(){
var fs = Npm.require("fs");
fs.readFile('/opt/SI/SIAgent/conf/myfile','utf-8', function (err, data) {
file_contents = data;
});
}
});
}
您必须使用Meteor.wrapAsync
将Node.JSfs.readFile
转换为具有同步外观的代码,以便可以在Meteor方法中返回结果。
var fs=Npm.require("fs");
fsReadFileSync=Meteor.wrapAsync(fs.readFile,fs);
Meteor.methods({
getMyFileContent:function(){
return fsReadFileSync("/opt/SI/SIAgent/conf/myfile","utf-8");
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句