我正在使用grunt-express进行本地开发。
这是我的GruntFile.js文件:
var path = require('path');
module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify:{
options:{
banner:'/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
}
},
express:{
server:{
options:{
debug:true,
server: path.resolve('app.js')
}
}
},
env : {
options:{
},
dev : {
NODE_ENV : 'development'
},
prod : {
NODE_ENV : 'production'
}
},
mochaTest:{
test:{
options:{
reporter:'spec'
},
src:['tests/*.js']
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-express');
grunt.loadNpmTasks('grunt-env');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-shell');
// tasks
grunt.registerTask('start', ['env:dev', 'express', 'express-keepalive']);
grunt.registerTask('stop', ['express-stop']);
grunt.registerTask('test', 'mochaTest');
};
我使用
grunt start
启动本地服务器,但我需要向node可执行文件添加--harmony标志。
我该如何做?
grunt
的效果等同于/usr/local/bin/node /usr/local/bin/grunt
(路径因环境而异)。因此,可以执行/usr/local/bin/node --harmony /usr/local/bin/grunt start
,但路径可能因机器而异。利用 npm 解决路径差异是更好的策略。 - Kyle Robinson Younggrunt
bin 设置node
cli 选项(其中包括--harmony
)。你提供的链接并不是解决方案。那只是针对 Grunt 选项而不是 Node.js 选项。看一下grunt
bin,你会发现命令grunt
实际上是作为node grunt
运行的(因为它是一个 node 二进制文件)。 - Kyle Robinson Young./node_modules/.bin/grunt
是有意的。这是由npm生成的bin路径。bin路径./node_modules/grunt-cli/bin/grunt
可能会改变,而npm生成的路径不会改变。关于npm start
无法工作的问题很奇怪,它应该可以(也许您的npm版本不同?)。我对Webstorm一无所知,抱歉。 - Kyle Robinson Young