Meteor中的文件路径
File path in Meteor
我在识别公用目录c:''TEMP''todos''.metreor''local''build''programs''server''public''main.py中文件的路径时遇到问题。meteor抱怨该文件或目录不存在。已经搜索了关于类似问题的其他帖子(例如,从流星应用程序内的目录中读取文件),但没有帮助。
这是错误消息。
=> Your application has errors. Waiting for file change.
=> Modified -- restarting.
=> Meteor server restarted
W20151206-04:05:57.893(-5)? (STDERR) Error inside the Async.runSync: ENOENT, no such file or directory 'c:'TEMP'todos'.meteor'local'build'programs'server'public'
客户端代码
Meteor.call('runPython', function(err, response) {
if(err){
} else {
console.log(response);
}
})
服务器代码
Meteor.startup( function (){
Meteor.methods({
runPython: function (){
var PythonShell = Meteor.npmRequire('python-shell');
var fs = Meteor.npmRequire('fs');
var runPython = Async.runSync(function (done){
var files = fs.readdirSync('./public/');
// PythonShell.run('main.py', function ... was tried first but Meteor complained that "main.py doesn't exist". So below is a different attempt.
var py = _(files).reject(function(fileName){
return fileName.indexOf('.py') <0;
})
PythonShell.run(py, function (err) {
// PythonShell.run(path.join(py,"main.py") ... was also tried but resulted in the same error
if (err) throw err;
console.log('script running failed');
});
})
return "Success";
}
})
})
应使用'/'
:读取public
文件夹中的所有文件
var files = fs.readdirSync('/');
更多信息:http://docs.meteor.com/#/full/structuringyourapp
仅针对服务器端(可能是您的情况,也可能是更好的解决方案),您可以将所有内容放在private/
文件夹下,并使用Assets API访问它们:http://docs.meteor.com/#/full/assets_getText
显然我想得太多了。我只需要指定文件的完整路径。
PythonShell.run('c:''project''public''main.py', function ...
如果您的应用程序允许将Python脚本移动到/private
而不是/public
,则可以利用Meteor的Assets:
Assets
允许Meteor应用程序中的服务器代码访问静态服务器资产,这些资产位于应用程序树的私有子目录中。资产不会作为源文件进行处理,而是直接复制到应用程序的捆绑包中。
例如,如果您将脚本移动到/private/scripts/script.py
,则可以通过执行Assets.absoluteFilePath('scripts/script.py')
生成Meteor方式的绝对路径。
相关文章:
- JS文件的路径正在消失
- 将Windows文件路径组织到文件夹中
- 如何使用Javascript上传给定路径的文件
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 在ng中给出文件路径包括什么
- 无法在ajax调用中发布绝对文件路径-无论我做什么,它都会返回斜杠
- 用于在web服务器中上载的文件路径
- 如何在three.js中加载指定文件内容而非路径的三维模型
- javascript文件中带有php(wordpress)的Src文件路径
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- 使用正则表达式angularjs验证文件路径
- 从不一致的文件路径数组中获取键的值
- 获取在html中选择的完整路径文件夹
- 无法使用 Jade 模板包含相对路径文件
- 如何在 Ext JS 网格列中打开共享路径文件位置
- HtmlWebpackPlugin注入相对路径文件,这些文件在加载非根网站路径时会中断
- 打开指向不同 iframe 的路径文件
- 如何调试requireJS模块定义的路径/文件
- 正则表达式本地路径文件验证
- Express:基于路径/文件设置内容类型