【问题标题】:Is it possible to ensure iisnode respects NODE_PATH in Azure?是否可以确保 iisnode 在 Azure 中尊重 NODE_PATH?
【发布时间】:2016-12-21 12:54:57
【问题描述】:

希望能够进行非相对导入并不罕见,例如,用于配置等...

在您自己运行节点可执行文件(开发环境、任何云提供商......诸如此类)的世界中,您可以简单地设置一个环境变量并让节点运行时尊重它。

想象一下这样的项目结构: 距离 |--富 |--酒吧 |--巴兹 应用程序.js |--配置

在带有 NODE_PATH=dist 的 app.js 中,我可以简单地 require('config') 并拥有我需要的东西。

在 Azure 应用服务中,它似乎忽略了应用程序设置中的 NODE_PATH。是缺少什么还是不可能?

【问题讨论】:

  • 嗨@James Yeoh,有什么更新吗?

标签: node.js azure azure-web-app-service iisnode azure-app-service-envrmnt


【解决方案1】:

在 Azure 应用服务中,您可以通过以下步骤在 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菜单中的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,终于可以正常使用了。

【讨论】:

  • 我的荣幸。如果你觉得这样,请将其标记为答案.. :)
猜你喜欢
  • 2018-01-15
  • 2013-07-30
  • 2011-02-05
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 2013-08-18
  • 2021-05-01
  • 1970-01-01
相关资源
最近更新 更多