浏览器化/监视运行

时间:2016-03-18 14:04:56

标签: javascript gruntjs browserify watchify

我正在尝试通过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"
            }

谢谢!

1 个答案:

答案 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');