是否可以确保 iisnode 在 Azure 中遵守 NODE_PATH?
Is it possible to ensure iisnode respects NODE_PATH in Azure?
希望能够进行非相对导入的情况并不少见,例如,用于配置等...
在 运行 节点可执行文件的世界中(开发环境,任何云提供商......诸如此类),您可以简单地设置一个环境变量并让节点运行时尊重它。
想象一下这样的项目结构:
距离
|--富
|--栏
|--巴兹
app.js
|--配置
在 app.js 和 NODE_PATH=dist 中,我可以简单地 require('config') 并得到我需要的东西。
在 Azure 应用服务中,它似乎忽略了应用程序设置中的 NODE_PATH。是不是少了什么或者这不可能?
在 Azure 应用服务中,您可以通过以下步骤在 Azure 门户中设置 NODE_PATH
环境变量。
1、创建D:\home\site\my_node_modules\config
目录,将index.js文件放在那里。在这种情况下,我只导出 "name" 变量。
// D:\home\site\my_node_modules\config\index.js
var name = "foobar";
// export it
exports.name = name;
2,在 Azure portal 中导航到您的 App Service,单击 SETTING 菜单中的 Application settings,然后设置 NODE_PATH
变量如下:
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、终于可以正常使用了
希望能够进行非相对导入的情况并不少见,例如,用于配置等...
在 运行 节点可执行文件的世界中(开发环境,任何云提供商......诸如此类),您可以简单地设置一个环境变量并让节点运行时尊重它。
想象一下这样的项目结构: 距离 |--富 |--栏 |--巴兹 app.js |--配置
在 app.js 和 NODE_PATH=dist 中,我可以简单地 require('config') 并得到我需要的东西。
在 Azure 应用服务中,它似乎忽略了应用程序设置中的 NODE_PATH。是不是少了什么或者这不可能?
在 Azure 应用服务中,您可以通过以下步骤在 Azure 门户中设置 NODE_PATH
环境变量。
1、创建D:\home\site\my_node_modules\config
目录,将index.js文件放在那里。在这种情况下,我只导出 "name" 变量。
// D:\home\site\my_node_modules\config\index.js
var name = "foobar";
// export it
exports.name = name;
2,在 Azure portal 中导航到您的 App Service,单击 SETTING 菜单中的 Application settings,然后设置 NODE_PATH
变量如下:
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、终于可以正常使用了