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

我的荣幸。如果你觉得这样,请将它标记为答案.. :) –

相关问题