我刚刚开始使用Grunt,并且希望每次修改文件(使用grunt-contrib-watch [GitHub页面])并运行grunt-nodemon [GitHub页面],同时使用grunt-concurrent [GitHub页面]来运行JavaScript。
据我所知(我显然不知道)我的Gruntfile应该:
concurrentconcurrent运行watchwatch都运行jshint。Gruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
concurrent: {
dev: [
'watch'
],
options: {
logConcurrentOutput: true
}
},
jshint: {
server: [
'**/*.js',
'!node_modules/**/*.js'
],
options: {
node: true
}
},
watch: {
all: [
'**/*/.js',
'!node_modules/**/*.js'
],
tasks: [
'jshint'
]
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', [
'concurrent:dev'/*,
'jshint',
'watch'*/
]);
};
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', [
'concurrent:dev'
]);
};注:我还没有加入grunt-nodemon。
看起来concurrent正在运行watch,但当我修改文件时,jshint似乎没有运行。我肯定在终端中没有任何输出(我认为是logConcurrentOutput: true做的)。
这是我在终点站得到的输出:
Running "concurrent:dev" (concurrent) task
Running "watch" task
Waiting...
Done, without errors.我还希望在第一次运行jshint任务时(以及在修改文件时)运行default。
有人能说明我哪里出了问题吗?
谢谢!
发布于 2014-01-31 12:51:35
如果没有找到要“监视”的文件,则watch任务将退出;如本期所示。
为了方便地告诉watch查看与jshint任务相同的文件,我使用Grunt的模板引擎来引用与jshint任务相同的文件的Array。
然后,我将jshint添加到要运行的并发任务列表中,以便在我修改文件时(使用watch)开始运行它。
这是我的工作Gruntfile
module.exports = function (grunt) {
grunt.initConfig({
concurrent: {
dev: [
'jshint',
'watch'
],
options: {
logConcurrentOutput: true
}
},
jshint: {
server: [
'**/*.js',
'!node_modules/**/*.js'
],
options: {
node: true
}
},
watch: {
files: '<%= jshint.server %>',
tasks: [
'jshint'
]
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', [
'concurrent'
]);
};发布于 2014-04-07 21:03:56
如果您正在运行一个Express服务器,那么您可以使用快车服务器。这些文档提供了一个很好的指南,说明如何在JSHINT和LiveReload + Watch/Regarde中使用它。
grunt.initConfig({
jshint: {
all: ['Gruntfile.js', 'public/javascripts/*.js', 'test/**/*.js']
},
watch: {
express: {
files: ['**/*.js', '**/*.ejs'],
tasks: ['jshint', 'express:dev'],
options: {
spawn: false
}
}
},
express: {
dev: {
options: {
script: './app.js'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-express-server');
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('server', [ 'express:dev', 'watch' ]);
});发布于 2014-01-31 13:46:56
乔纳森,你需要检查你的球状图案是否与任何文件相匹配。正如问题的链接所示,您可以尝试nonull选项。我还建议使用标志--debug运行咕噜声,这样您就可以看到更多在引擎盖下面发生的事情。
这是一个正常工作的Gruntfile启动节点服务器,监视变化和肝脏工作量。它使用咕噜-快车插件。
https://stackoverflow.com/questions/21479322
复制相似问题