Сегодня я хотел развернуть свое приложение node.js
на герою. Локально я использую bower
и grunt
для разработки, и я все еще хотел их использовать.grunt and bower on heroku
Теперь, следуя несколько советов, я нашел в Интернете, я добавил к моим bower
dependencies
и добавил "postinstall": "node_modules/.bin/bower install
к моим package.json
postinstall
.
Теперь у меня возникли проблемы с grunt
. Когда я пошевелить зависимости хрюкать в dependencies
от devDependencies
grunt
не распознает tasks
, например, когда у меня есть
{
"name": "js-linkedin-connector",
"version": "0.1.0",
"dependencies": {
"passport": "~0.1.17",
"passport-local": "~0.1.6",
"passport-linkedin-oauth2": "~1.0.1",
"connect": "~2.11.0",
"underscore": "~1.5.2",
"bower": "1.2.x",
"grunt": "~0.4.1",
"grunt-cli": "0.1.11",
"load-grunt-tasks": "~0.1.0",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-coffee": "~0.7.0",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-compass": "~0.5.0",
"grunt-contrib-jshint": "~0.6.0",
"grunt-contrib-cssmin": "~0.6.0",
"grunt-contrib-connect": "~0.5.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-contrib-watch": "~0.5.2",
"grunt-autoprefixer": "~0.2.0",
"grunt-usemin": "~2.0.0",
"grunt-svgmin": "~0.2.0",
"grunt-rev": "~0.1.0",
"grunt-concurrent": "~0.3.0",
"grunt-jasmine-node": "~0.1.0",
"grunt-google-cdn": "~0.2.0",
"grunt-ngmin": "~0.0.2",
"time-grunt": "~0.1.0",
"grunt-karma": "~0.6.2",
"connect-livereload": "~0.3.0"
},
"devDependencies": {
"karma-ng-scenario": "~0.1.0",
"karma-script-launcher": "~0.1.0",
"karma-chrome-launcher": "~0.1.0",
"karma-firefox-launcher": "~0.1.0",
"karma-html2js-preprocessor": "~0.1.0",
"karma-jasmine": "~0.1.3",
"karma-requirejs": "~0.1.0",
"karma-phantomjs-launcher": "~0.1.0",
"karma": "~0.10.4",
"karma-ng-html2js-preprocessor": "~0.1.0"
},
"engines": {
"node": ">=0.8.0",
"npm": "1.3.x"
},
"scripts": {
"test": "grunt test",
"postinstall": "node_modules/.bin/bower install;node_modules/.bin/grunt server:dist"
}
}
в моем package.json
, когда я печатаю ./node_modules/.bin/grunt
я получаю:
Warning: Task "jshint" not found. Use --force to continue.
Aborted due to warnings.
Но когда я переместить grunt
Зависимости от devDependencies
:
{
"name": "js-linkedin-connector",
"version": "0.1.0",
"dependencies": {
"passport": "~0.1.17",
"passport-local": "~0.1.6",
"passport-linkedin-oauth2": "~1.0.1",
"connect": "~2.11.0",
"underscore": "~1.5.2",
"bower": "1.2.x"
},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-cli": "0.1.11",
"load-grunt-tasks": "~0.1.0",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-coffee": "~0.7.0",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-compass": "~0.5.0",
"grunt-contrib-jshint": "~0.6.0",
"grunt-contrib-cssmin": "~0.6.0",
"grunt-contrib-connect": "~0.5.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-contrib-watch": "~0.5.2",
"grunt-autoprefixer": "~0.2.0",
"grunt-usemin": "~2.0.0",
"grunt-svgmin": "~0.2.0",
"grunt-rev": "~0.1.0",
"grunt-concurrent": "~0.3.0",
"grunt-jasmine-node": "~0.1.0",
"grunt-google-cdn": "~0.2.0",
"grunt-ngmin": "~0.0.2",
"time-grunt": "~0.1.0",
"grunt-karma": "~0.6.2",
"connect-livereload": "~0.3.0",
"karma-ng-scenario": "~0.1.0",
"karma-script-launcher": "~0.1.0",
"karma-chrome-launcher": "~0.1.0",
"karma-firefox-launcher": "~0.1.0",
"karma-html2js-preprocessor": "~0.1.0",
"karma-jasmine": "~0.1.3",
"karma-requirejs": "~0.1.0",
"karma-phantomjs-launcher": "~0.1.0",
"karma": "~0.10.4",
"karma-ng-html2js-preprocessor": "~0.1.0"
},
"engines": {
"node": ">=0.8.0",
"npm": "1.3.x"
},
"scripts": {
"test": "grunt test",
"postinstall": "node_modules/.bin/bower install;node_modules/.bin/grunt server:dist"
}
}
все работает нормально.
В чем проблема и как я могу ее решить, чтобы развернуть мое приложение grunt
+ для героя?
Спасибо, я посмотрю позже сегодня. – Andna
Я следил за вашими советами по использованию этого сборщика, и все работает отлично, приложение развернуто правильно :), спасибо. – Andna
@ Нико вы можете уточнить, что оставить их в devDependencies «где они принадлежат»? Похоже, что если вы нуждаетесь в них на своем производственном сервисе, они больше не зависят от разработчиков. Построчный пакет, на который вы ссылаетесь, рекомендует также вставлять хрюканье в зависимости. –