我的gruntfile.js
是:
'use strict';
module.exports = function(grunt) {
// Project Configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
jade: {
files: ['app/views/**'],
options: {
livereload: true,
},
},
js: {
files: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
tasks: ['jshint'],
options: {
livereload: true,
},
},
html: {
files: ['public/views/**'],
options: {
livereload: true,
},
},
css: {
files: ['public/css/**'],
options: {
livereload: true
}
}
},
jshint: {
all: {
src: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
options: {
jshintrc: true
}
}
},
nodemon: {
dev: {
options: {
file: 'server.js',
args: [],
ignoredFiles: ['public/**'],
watchedExtensions: ['js'],
nodeArgs: ['--debug'],
delayTime: 1,
env: {
PORT: 3000
},
cwd: __dirname
}
}
},
concurrent: {
tasks: ['nodemon', 'watch'],
options: {
logConcurrentOutput: true
}
},
mochaTest: {
options: {
reporter: 'spec',
require: 'server.js'
},
src: ['test/mocha/**/*.js']
},
env: {
test: {
NODE_ENV: 'test'
}
},
karma: {
unit: {
configFile: 'test/karma/karma.conf.js'
}
}
});
//Load NPM tasks
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-env');
//Making grunt default to force in order not to break the project.
grunt.option('force', true);
//Default task(s).
grunt.registerTask('default', ['jshint', 'concurrent']);
//Test task.
grunt.registerTask('test', ['env:test', 'mochaTest', 'karma:unit']);
};
当我输入grunt
时,我得到:
$ grunt
Running "jshint:all" (jshint) task
>> 69 files lint free.
Running "concurrent:tasks" (concurrent) task
Running "nodemon:dev" (nodemon) task
Running "watch" task
Waiting...
通常它会说Express started on Port 3000
,但突然之间却没有。不知道发生了什么事。有什么想法吗?
使用-v
标志运行时,我得到:
Running tasks: nodemon
Running "nodemon" task
Running "nodemon:dev" (nodemon) task
Verifying property nodemon.dev exists in config...OK
File: [no files]
Options: file="server.js", args=[], ignoredFiles=["public/**"], watchedExtensions=["js"], nodeArgs=["--debug"], delayTime=1, env={"PORT":3000}, cwd="/Users/shamoon/Sites/blocksearcher"
Loading "env.js" tasks...OK
+ env
Loading "gruntfile.js" tasks...OK
+ default, test
Running tasks: watch
Running "watch" task
Waiting...Verifying property watch exists in config...OK
Verifying property watch.jade.files exists in config...OK
Verifying property watch.js.files exists in config...OK
Verifying property watch.html.files exists in config...OK
Verifying property watch.css.files exists in config...OK
Live reload server started on port: 35729
Watching app/views for changes.
Watching app/views/includes for changes.
...
答案 0 :(得分:9)
查看grunt-nodemon的更改日志:https://github.com/ChrisWren/grunt-nodemon#changelog。
您最近必须更新您的依赖项,并且grunt-nodemon更改了一些属性。
- file is now script
- ignoredFiles -> ignore
- watchedFolders -> watch
- watchedExtensions -> ext
答案 1 :(得分:2)
只需将options.file更改为脚本或保留两者。
nodemon: {
dev: {
script: 'server.js',
options: {
file: 'server.js',
args: [],
ignoredFiles: ['public/**'],
watchedExtensions: ['js'],
nodeArgs: ['--debug'],
delayTime: 1,
env: {
PORT: 3000
},
cwd: __dirname
}
}
}