我当时使用Browserify将我的React JSX文件转换为支持浏览器的文件。我使用grunt的监视脚本来监视JSX文件中的更改,然后重建主App.js文件。但是,这变慢了,即使是很小的变化也要花费5秒钟...
很显然,Watchify是对此的一种修复,下面应该是配置,这样就不会为每个小的更改而重新构建整个捆绑包。
但是,即使也尝试使用监视脚本(请参见这两个任务),更改后主App.js文件也不会更新。文件路径是正确的,因为在第一次运行时,它会正确编译,但是,一旦更改了任何JSX文件,除非停止脚本并重新运行所有文件,否则它不会更新>
粗暴
browserify : {
dev : {
src : ["app/src/components/**/*.jsx"],
dest : "app/src/components/App.js",
options : {
transform: [['babelify', {presets: ['react', 'es2015']}]],
watch : true, // use watchify for incremental builds!
keepAlive : true, // watchify will exit unless task is kept alive
browserifyOptions : {
debug : true // source mapping
}
}
}
},
watch: {
jsx: {
files: ['app/src/components/**/*.jsx', '!app/src/components/App.js'],
tasks: ['browserify'],
options: {
livereload: true
}
},
}
.....
.....
grunt.registerTask("dev", ["browserify:dev"]);
grunt.registerTask("devWatch", ["browserify:dev", "watch"]);