2016-06-12 11 views
0

Ich benutze benutzerdefinierte node.js cartridge auf openshift icflorescu/openshift-cartridge-nodejs.Wie setze ich NODE_PATH =. für node.js app gehostet in openshift

Wie kann ich NODE_PATH = setzen. für den Start der App in package.json? Sollte ich es schaffen, in package.json wie folgt aus: "start": "NODE_PATH=. NODE_ENV=production node app.js", entweder ich sollte hier so etwas wie Dindaleon/hapi-react-starter-kit verwenden - einige npm Paket wie cross-env

Ich habe Linie in Haupt app.js Datei. Es gibt einen Ordner mit dem Namen 'config', im selben Verzeichnis wie app.js, in der Ordner-Config-Datei index.js, die Datei index.js hat einen Code mit 'module.exports = Object.assign ({... config object. ..}); ' . Wenn ich NODE_PATH = lösche. , Knoten wirft "Fehler: Modul 'config' kann nicht gefunden werden".

var config = require('config'); 

Antwort

0

Ich bin der Autor von openshift-cartridge-nodejs :-)

"start": "node app.js" in Ihrem package.json Having sollte gerade genug sein.

Wenn Sie sich bin/install ansehen, sehen Sie, dass NODE_ENV bereits standardmäßig im Cartridge-Setup-Skript auf production eingestellt ist.

Auch ich bin mir nicht sicher, was Sie erreichen möchten, indem Sie NODE_PATH auf . setzen. Es ist eine einzige Node.js-Version installiert.

Wenn Sie im Allgemeinen daran interessiert sind, wie Sie benutzerdefinierte Umgebungsvariablen in einer OpenShift-implementierten Anwendung festlegen können, werfen Sie einen Blick auf die Dokumentation here. Grundsätzlich werden Sie verwenden müssen die rhc Befehlszeilenprogramm wie folgt aus:

$ rhc env set <Variable>=<Value> <Variable2>=<Value2> -a App_Name 
+0

Ich habe Linie in Haupt app.js Datei. Es gibt einen Ordner mit dem Namen 'config', im selben Verzeichnis wie app.js, in der Ordner-Config-Datei index.js, die Datei index.js hat einen Code mit 'module.exports = Object.assign ({... config object. ..}); ' . Wenn ich NODE_PATH = lösche. , Knoten wirft "Fehler: Modul 'config' kann nicht gefunden werden". – illdo