1

Es ist nicht ungewöhnlich, zu wollen in der Lage sein, nicht-relative Importe zu haben, zum Beispiel für die Konfiguration, etc ...Kann sichergestellt werden, dass iisnode NODE_PATH in Azure berücksichtigt?

In der Welt einen Knoten ausführbare Datei auf Ihrem eigenen (Entwicklung env läuft, jeder Cloud-Anbieter ... Dinge wie diese) können Sie einfach eine env var setzen und sie von der Knotenlaufzeit einhalten lassen.

eine Projektstruktur wie so vorstellen: dist | --foo | --bar | --baz app.js | --config

in app.js mit NODE_PATH = dist, Ich kann einfach verlangen ('config') und habe was ich brauche.

In den Azure App Services scheint NODE_PATH aus den Anwendungseinstellungen zu ignorieren. Fehlt etwas oder ist das nicht möglich?

+0

Hallo @James Yeoh, irgendein Update? –

Antwort

0

In Azure App Services können Sie die Umgebungsvariable NODE_PATH im Azure-Portal mit den folgenden Schritten festlegen.

1, Erstellen Sie das Verzeichnis D:\home\site\my_node_modules\config und legen Sie die Datei index.js in wo. In diesem Fall exportiere ich einfach die Variable "name".

// D:\home\site\my_node_modules\config\index.js 
var name = "foobar"; 
// export it 
exports.name = name; 

2, Navigieren Sie zu Ihrem App Service im Azure portal, klicken Sie auf Anwendungseinstellungen im EINSTELLUNG Menü und dann die NODE_PATH Variable wie folgt:

enter image description here

3, In der app.js Datei können Sie einfach require('config') wie folgt eingeben:

var http = require('http') 
var config = require('config') 

http.createServer(function (req, res) { 
    res.end(config.name) 
}).listen(process.env.PORT || 3000) 

4, Endlich funktioniert es gut.

enter image description here

+0

Danke Aaron! –

+0

Mein Vergnügen. Bitte markieren Sie es als Antwort, wenn Sie sich so fühlen .. :) –

Verwandte Themen