我正在尝试通过grunt / browserify构建我的JS-bundle。我也使用grunt进行scss编译。为此,我使用grunt-watch在更改时触发scss编译。
我想要JS-browserify的相同行为。 grunt-browserify附带“watch”选项,可以很好地完成这项工作。
我唯一的问题是:我希望在“重新浏览”后收到通知。对于SCSS,我使用grunt-notify。但是我没有找到任何方法在browserify-watch之后触发grunt任务。
我的gruntfile摘录:
var gruntOptions = {
notify: {
browserify_node_modules: {
options: {
title: "Browserify",
message: "node_modules build"
}
}
},
browserify: {
node_modules: {
src: ["node_modules.js"],
dest: "trunk/js/lib/node_modules.js",
options: {
watch: true,
}
}
}
};
最佳案例:
options: {
watch: true,
finishTask: "notify:browserify_node_modules"
}
谢谢!
答案 0 :(得分:1)
您可以检查Browserify生成的文件是否已更改,然后触发任务。
在Grunt中安装watch
任务:
npm install grunt-contrib-watch --save-dev
在watch
中配置Gruntfile.js
任务:
grunt.initConfig({
// other tasks
your_task: {
// ...
},
watch: {
dev: {
files: 'trunk/js/lib/node_modules.js', // file generated by Browserify
options: { spawn: false },
tasks: ['your_task']
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');