1

Это не редкость, чтобы иметь возможность иметь не относительный импорт, например, для конфигурации и т. Д.Можно ли обеспечить iisnode уважение NODE_PATH в Azure?

В мире выполнения собственного исполняемого элемента (разработка env, любой поставщик облачных вычислений ... такие вещи), вы можете просто установить env var и уважать его во время выполнения узла.

Представьте себе структуру проекта следующим образом: дист | --foo | --bar | --baz app.js | --config

в app.js с NODE_PATH = дист, Я могу просто потребовать («config») и иметь то, что мне нужно.

В Azure App Services он, как представляется, игнорирует NODE_PATH из настроек приложения. Что-то не хватает или это невозможно?

+0

Hi @James Yeoh, любое обновление? –

ответ

0

В Azure App Services вы можете установить переменную среды 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, перейдите к своему App службы в Azure portal, нажмите на Параметры приложения в заходящего меню, а затем установить переменную 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

Мое удовольствие. Пожалуйста, отметьте это как ответ, если вы так чувствуете .. :) –