这是我的快递服务器结构
--routes
----index.js
----graph.js
--scripts
----test.R
--server.js
我试图从graph.js文件中调用R脚本,如下所示
router.get('/test',function(req,res,next){
var R = require("r-script");
var out = R("./scripts/test.R")
.data()
.callSync();
res.send(out);
});
但是我收到以下错误
TypeError: Cannot read property 'data' of undefined.
非常感谢任何帮助。 感谢
答案 0 :(得分:1)
我认为相对于graph.js
而不是server.js
来调用它。
尝试使用R("../scripts/test.R")
加上.
。
答案 1 :(得分:0)
每次安装“ r-script”时,我都会遇到此问题,但很久以前我就在这里找到了解决方案:https://github.com/joshkatz/r-script/pull/20/commits/1eb0c33628360957f0dd589b92e804fba15891d5。
只需将return _.bindAll(obj, "data", "call", "callSync");
替换为:
_.bindAll(obj, "data", "call", "callSync");
return obj;
在文件node_modules/r-script/index.js
希望即使您在5个月前提出要求,我也能为您提供帮助。