【问题标题】:Run R-Script from Nodejs and Express从 Nodejs 和 Express 运行 R-Script
【发布时间】:2018-10-25 18:26:12
【问题描述】:

这是我的快递服务器结构

--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.

非常感谢任何帮助。 谢谢

【问题讨论】:

  • 试试R("../scripts/test.R") 加上一个额外的.。我认为它是相对于graph.js 而言的,而不是server.js
  • 是的,刚刚试了还是一样的错误。
  • 看起来回购本身存在问题。看看joshkatz/r-script#19。您可能需要安装特定的拉取请求才能在合并之前处理该问题。

标签: node.js express npm rscript


【解决方案1】:

我相信它被称为相对于graph.js 而不是server.js

尝试使用R("../scripts/test.R") 和额外的.

【讨论】:

    【解决方案2】:

    我每次安装“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 个多月前提出要求。

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 2023-03-15
      • 2023-03-19
      • 2012-04-27
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      相关资源
      最近更新 更多