1

想要能夠擁有非相對導入(例如配置等)並不罕見...是否有可能確保iisnode尊重Azure中的NODE_PATH?

在您自己運行節點可執行文件(開發環境,開發環境,任何雲提供程序...這樣的事情),你可以簡單地設置一個env var,並讓它受到節點運行時的重視。

想象一下,一個項目的結構,像這樣: DIST | --foo | --bar | --baz app.js |與NODE_PATH = DIST app.js --config

,我只需要('config')並擁有我所需要的。

在Azure應用程序服務中,它似乎忽略來自應用程序設置的NODE_PATH。有什麼遺漏或這是不可能的?

+0

Hi @James Yeoh,有什麼更新嗎? –

回答

0

在Azure App Services中,您可以使用以下步驟在Azure門戶中設置NODE_PATH環境變量。

1,創建D:\home\site\my_node_modules\config目錄,並將index.js文件放在哪裏。在這種情況下,我只是導出「名稱」變量。

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

2,瀏覽到您的應用程序服務的Azure portal,點擊在應用程序設置 SETTING菜單,然後設置NODE_PATH變量如下:

enter image description here

3,在app.js文件中,您可以簡單地require('config')像這樣:

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

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

4,最後,它工作正常。

enter image description here

+0

謝謝亞倫! –

+0

我的榮幸。如果你覺得這樣,請將它標記爲答案.. :) –

相關問題