javascript-Grunt-连接多个JS文件并注意更改
作者:互联网
Grunt还是一个新手,因此请记住您的答案.我正在尝试在Grunt中设置任务,以将名为“ custom”的目录中的所有JS文件合并为一个名为custom-concat.js的文件,但是运行grunt watch(运行正常且没有错误)后,什么都没有发生当我尝试对“ custom”目录中的任何文件进行更改时(即,即使我对“ custom”目录中的任何JS文件进行了更改,控制台也位于“ waiting ….”).显然,我的concat任务有问题,但是我似乎看不出问题所在.谁能看到问题所在?完整的gruntfile如下:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
//pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';',
},
dist: {
src: ['scripts/custom/**/*.js'],
dest: 'scripts/custom-concat.js',
},
},
uglify: {
build: {
src: 'scripts/custom-concat.js',
dest: 'scripts/custom.min.js'
}
},
less: {
options: {
paths: ["css"]
},
files: {
"styles.css": "less/styles.less"
}
},
watch: {
scripts: {
files: 'scripts/**/*.js',
task: ['concat', 'uglify:build']
},
styles: {
files: 'css/less/**.less',
task: 'less'
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('default', ['concat', 'uglify']);
};
解决方法:
据我所知,您的监视任务存在三个小问题:
>监视的正确属性是taskS而不是task
>如果要直接运行监视任务,请使用选项{atBegin:true}
>您的监视任务将监视脚本文件夹.但是,此文件夹还将包含您的简明文件和丑化文件.因此,此任务将陷入无限循环.您可能只应该看一下scripts / custom文件夹
因此,您的监视任务应该看起来像这样:
watch: {
scripts: {
files: 'scripts/custom/**/*.js',
tasks: ['concat', 'uglify:build'],
options: {
atBegin: true
}
},
styles: ...
}
GitHub grunt-contrib-watch
标签:node-js,gruntjs,javascript 来源: https://codeday.me/bug/20191028/1955112.html