1

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

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

想象一个像这样的项目结构: dist |--foo |--bar |--baz app.js |--config

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

在 Azure 应用服务中,它似乎忽略了应用程序设置中的 NODE_PATH。是否缺少某些东西或者这是不可能的?

4

1 回答 1

0

在 Azure 应用服务中,您可以NODE_PATH通过以下步骤在 Azure 门户中设置环境变量。

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 门户中导航到您的应用服务,单击设置菜单中的应用程序设置,然后设置变量如下: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,最后,它工作正常。

在此处输入图像描述

于 2016-12-21T04:54:57.003 回答