目前 Grunt 的安装有些改变, grunt-cli 全局安装, 而 grunt 安装在本项目.
$ npm install grunt-contrib-watch –save-dev
$npm install grunt-nodemon –save-dev
$npm install grunt
加上–save-dev可以让本地添加的插件自动添加到项目的依赖中去。
安装完以后,配置gruntfile.js文件。根据自己的目录要做修改。
module.exports = function(grunt) {
grunt.initConfig({
watch: {
jade: {
files: ['views/**'],
options: {
livereload: true
}
},
js: {
files: ['public/js/**', 'models/**/*/js', '/schemas/**/*.js'],
//tasks: ['jshint'],
options: {
livereload: true //当文件出现改动的时候会重新启动服务
}
}
},
nodemon: {
dev: {
options: {
file: 'app.js',
args: [],
ingoredFiles: ['README.md', 'node_modules/**', '.DS_Store'],
watchedExtensions: ['js'],
watchedFolders: ['./'],
debug: true,
delayTime: ,
env: {
PORT:
},
cwd: __dirname
}
}
},
concurrent: {
tasks: ['nodemon', 'watch'],
options: {
logConcurrentOutput: true
}
}
})
grunt.loadNpmTasks('grunt-concurrent');//优化慢任务 如less coffee
grunt.option('force', true);//不要因为语法或警告中断整个grunt
grunt.registerTask('default', ['concurrent']);//通过concurrent的tasks传入nodemon和watch 可以执行这两个任务
}
所以,有文件修改了grunt会自动重启,就不用每次都重新node app.js了。
在项目目录下执行
$grunt
出现以下信息,证明运行成功。
Running “concurrent:tasks” (concurrent) task
Running “nodemon:dev” (nodemon) task
Running “watch” task
Waiting…
[nodemon] 1.9.2
[nodemon] to restart at any time, enter
rs
[nodemon] watching: .
[nodemon] starting
node app.js