2016-12-10 2 views
0

(Dies ist wahrscheinlich eine sehr dumme Frage, da ich mit NodeJS erst am Anfang bin, trotzdem kann ich nicht verstehen, wie das funktioniert. Lassen Sie uns wissen, was in meiner Frage fehlt, werde ich korrigieren.)Wie ändern Sie eine Modulvariable nodejs?

I Ich versuche das npm-Paket likely zu verwenden.

in meiner server.js Datei habe ich also diese

var Recommender = require('likely'); 

in likely.js geschrieben Sie Variablen wie diese finden:

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

Ich mag würde diese Variablen in meinem Server ändern .js-Datei. Ich glaube, die Art und Weise, dies zu tun, ist das Hinzufügen nach der erfordern()

Recommender.DESCENT_STEPS = 9999999999; 

aber das scheint nicht um den Wert zu ändern, der in likely.js definiert ist und dass tatsächlich durch das Modell verwendet wird. (Durch das Ausführen des Modells kann ich sehen, dass es nicht funktioniert, da so viele Schritte ewig dauern sollten und die Verarbeitungszeit sich überhaupt nicht ändert)

Kann ich das nur tun, indem ich lifest.js modifiziere?

Antwort

2

Sie können sie nicht programmgesteuert ändern, da layer.js nur die lokalen Variablenwerte anstelle des aktuellen Werts der exportierten Versionen der gleichen Variablen verwendet. Wenn Sie also diese Werte ändern möchten, müssen Sie die Datei "latitude.js" bearbeiten. Möglicherweise möchten Sie eine Pull-Anforderung an das Repository dieses Projekts senden, die dafür sorgt, dass der Code stattdessen den exportierten Wert verwendet (z. B. module.exports.DESCENT_STEPS).

0

Sie müssen diese Variablen veröffentlichen, damit sie von server.js angezeigt werden können.

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

Nun kann es in server.js angesehen und geändert werden. Recommender.ALPHA = 'new value';

Verwandte Themen