你如何修改nodejs模块变量?

时间:2016-12-10 13:50:01

标签: javascript node.js

(这可能是一个非常愚蠢的问题,因为我刚开始使用nodejs,但我无法理解这是如何工作的。让我知道我的问题中缺少什么,我会纠正。)

我正在尝试使用npm包likely

在我的server.js文件中我写了这个

var Recommender = require('likely');
在ply.js中你可以找到这样的变量:

var DESCENT_STEPS = 5000; // number of iterations to execute gradient descent 
var ALPHA = 0.0005;       // learning rate, should be small

我想在server.js文件中修改这些变量。 我相信这样做的方法是在require()

之后添加它
Recommender.DESCENT_STEPS = 9999999999;

但这似乎并没有改变在possible.js中定义的值,而且实际上是由模型使用的。 (通过运行模型我可以看到它不起作用,因为这么多步骤应该永远需要,处理时间根本不会改变)

我可以通过修改possible.js来实现吗?

2 个答案:

答案 0 :(得分:3)

您无法以编程方式修改它们,因为possible.js仅使用局部变量值而不是相同变量的导出版本的当前值。因此,如果您想要更改这些值,您当前需要编辑possible.js。您可能希望向该项目的存储库提交拉取请求,以使代码使用导出的值(例如module.exports.DESCENT_STEPS)。

答案 1 :(得分:0)

您需要将这些变量公布为server.js可以查看。

var object = {
    DESCENT_STEPS = 5000;
    ALPHA = 0.0005; 
}
module.exports = object;

现在可以在server.js中查看和修改它。 Recommender.ALPHA = 'new value';