我的第一个Gruntfile正在处理uglifying文件,concat和imagemin。当我从CL运行grunt时,它正常运行并且看起来很好但是,当我更改并保存文件时,它并没有被" watch"捕获,它仍在运行。任何帮助将不胜感激,因为我的代码看起来与我能找到的每个在线示例相同,我看不到任何错误。
这是我的服务器目录的结构,它包含我所有的.js文件:
├── build
│ ├── production.js
│ └── production.min.js
├── config
│ ├── authStore.js
│ └── passport.js
├── db
│ ├── db.js
│ └── schema.sql
├── models
│ ├── taskModel.js
│ └── userModel.js
├── requestHandler
│ └── userHandler.js
├── routes.js
├── server.js
└── views
└── index.ejs
这是我的Grunt文件:
module.exports = function (grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cssmin: {
target: {
files: [{
expand: true,
cwd: 'client/css/',
src: ['*.css'],
dest: 'client/css/',
ext: '.min.css'
}]
}
},
concat: {
dist: {
src: [
'server/**/*.js',
],
dest: 'server/build/production.js',
},
dist: {
src: [
'client/js/*.js',
],
dest: 'client/build/production.js',
}
},
uglify: {
build: {
src: 'server/build/production.js',
dest: 'server/build/production.min.js'
},
build: {
src: 'client/build/production.js',
dest: 'client/build/production.min.js'
}
},
imagemin: {
dynamic: {
files: [{
expand: true,
// cwd: 'client/img/',
src: ['client/img/*.jpg'],
dest: 'client/img/build'
}]
}
},
watch: {
options: {
livereload: true,
},
scripts: {
files: [
'client/js/*.js',
'server/**/*.js'
],
tasks: [
'concat',
'uglify'
],
options: {
spawn: false,
},
}
},
}) //Closes initConfig
//Tell grunt to use these plugins
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.registerTask('server-dev', function (target) {
// Running nodejs in a different process and displaying output on the main console
var nodemon = grunt.util.spawn({
cmd: 'grunt',
grunt: true,
args: 'nodemon'
});
nodemon.stdout.pipe(process.stdout);
nodemon.stderr.pipe(process.stderr);
grunt.task.run([ 'watch' ]);
});
//what happens when you type grunt in CL
grunt.registerTask('default', ['cssmin', 'uglify', 'imagemin', 'concat', 'watch']);//'watch'
grunt.registerTask('build', ['concat']);
//grunt.registerTask('default', ['mochaTest']);
};