2015-05-28 2 views
12

Я развернул приложение node.js в лазурном контейнере «веб-приложений». Я добавил папку «node_modules» в .gitignore и даю azure установить модули из package.json.Услуга Azure «Веб-приложения»: автоматическая установка модулей npm из package.json

Однако большинство модулей не устанавливаются автоматически, и я должен открыть командную строку экземпляра и установить их вручную, используя «npm install».

Я использую узел v0.12.0 и вот мой package.json:

{ 
"main": "server.js", 
"scripts": { 
    "start": "node server.js" 
}, 
"devDependencies": { 
    "body-parser": "^1.12.4", 
    "cors": "^2.6.1", 
    "express": "*", 
    "gulp": "^3.8.11", 
    "gulp-jshint": "^1.11.0", 
    "gulp-nodemon": "^2.0.3", 
    "moment": "^2.10.3", 
    "mongoose": "^4.0.3" 
}, 
"engines": { 
    "node": "0.12.0" 
} 
} 

Как включить автоматическую установку модулей через лазурные веб-приложений, а не обязан нажать «node_modules» папку с каждый совершает?

+2

Это может быть связано с либо devDependencies, которые должны быть переименованы в зависимости или нативных модулей узлов, которые не удается (mongoose), поскольку Azure не поддерживает собственные модули node.js. Можете ли вы вставить журнал установки Azure? –

+0

@ Jonathan Muller thx, я новичок в лазурном ты имеешь в виду журнал развертывания? – shadesco

+1

yup, так что мы можем видеть, что пакет сломал сборку –

ответ

19

Azure не устанавливает devDependencies. Если вы нуждаетесь в них на производстве, это не devDependencies но dependencies

В вашей package.json, devDependencies должен быть переименован в dependencies

Такого рода вещи appens когда вы npm install --save-dev.

зависимость производства (требуется для запуска): npm install --save
В противном случае (инструменты для сборки, jshint и т.д.): npm install --save-dev