Traceur + browserify + uglyify一口吞下
我想要一个gulp文件,它首先将我的es6代码转换为es5并将其保存到一个目录,然后对其进行浏览(在每个文件上,而不仅仅是一个条目文件)并将其保存到另一个目录,最后我想缩小它并将其放入它在browserified文件夹中作为.min.js文件。 下面是结果应该是什么样子的图表:
src/
es6/
index.js
mod.js
es5/
index.js
mod.js
es5-browser/
index.js
index.min.js
mod.js
mod.min.js
这是我迄今为止的gulp文件,但我不断发现模块错误:
var gulp = require('gulp');
var traceur = require('gulp-traceur');
var browserify = require('gulp-browserify');
var sourcemaps = require('gulp-sourcemaps');
gulp.task('es5ize', function () {
return gulp.src('src/es6/**/*.js')
.pipe(sourcemaps.init())
.pipe(traceur({sourceMaps: true}))
.pipe(sourcemaps.write())
.pipe(gulp.dest('src/es5'))
.pipe(browserify({
debug : true
}))
.pipe(gulp.dest('src/es5-browser'))
;
});
我知道我不应该使用gulp-browserify,但我无法像乙烯那样得到任何东西。
它一直运行到browserify步骤
我怎样才能使这个工作?
编辑:
我希望能够保持这一点,而不必执行任何操作,因为我最终还是希望使用watchify
所有其他的例子都接近这第一个浏览器创建一个包,然后操纵该包,但这意味着它总是会开始browserifed我不想要的。 他们似乎也需要为browserify指定一个入口文件,但我想指定一个glob并让它转换相同的匹配项
你需要traceur编译为commonjs模块,这样browserify才能理解.pipe(traceur({modules: 'commonjs' }))