gpt4 book ai didi

node.js - 如果启用了 Uglify 中的动态扩展,如何使用 Grunt.js 监视任务只对更改的文件进行 uglify?

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:27 28 4
gpt4 key购买 nike

我的 Gruntfile.js 中有以下配置:问题是,当某些文件被更改时,'uglify' 任务对所有文件照常执行。我做错了什么?

module.exports = function(grunt) {
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
watch: {
scripts: {
files: ['js/**/*.js'],
tasks: ['uglify']
}
},
uglify : {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
sourceMapRoot: 'www/js/sourcemap/'
},
build: {
files: [
{
expand: true,
cwd: 'js/',
src: ['**/*.js', '!**/unused/**'],
dest: 'www/js/',
ext: '.js'
}
]
}
}
});

grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');

grunt.event.on('watch', function(action, filepath) {
grunt.config(['uglify', 'build', 'src'], filepath);
});

grunt.registerTask('default', ['uglify', 'watch']);
};

最佳答案

默认情况下,watch 任务会生成任务运行。因此它们处于不同的进程上下文中,因此在监视事件上设置配置将不起作用。您需要启用 nospawn 才能不生成任务运行并保持在同一上下文中:

watch: {
options: { nospawn: true },
scripts: {
files: ['js/**/*.js'],
tasks: ['uglify']
}
},

关于node.js - 如果启用了 Uglify 中的动态扩展,如何使用 Grunt.js 监视任务只对更改的文件进行 uglify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836076/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com