是否可以针对某个浏览器目标在browserify / babel中运行构建?

时间:2016-10-30 06:06:44

标签: javascript browserify babeljs gulp-babel

查看以下表格: http://kangax.github.io/compat-table/es6/

看起来Chrome非常接近支持很多ES6,这意味着(在我看来)我应该能够在开发过程中放弃以下内容:

browserify(browserifyOptions)
    .transform(babelify.configure(babelifyOptions))
    .bundle()
    .pipe(source('app.js'))
    .pipe(buffer())
    .pipe(gulp.dest('./dist/js'));

使用browserify时:

...

有希望加快构建时间。在建设到生产时,显然仍然需要进行蒸腾。

然而,当我退出es2015预设时,浏览器化构建中的choke,而不是function findLongestWord(str) { var strArray =[]; var numArray=[]; var sortedNumArray=[]; strArray = str.split(" "); numArray = strArray.map(function(val){return val.length;}); sortedNumArray=numArray.sort(function(a,b){return a-b;}); return sortedNumArray.pop(); } 之类的东西。这是有道理的,但是只能在定位Chrome时运行browserify吗? (即允许Chrome目前理解的令牌/运营商/功能)。

1 个答案:

答案 0 :(得分:1)

我不认为browserify是问题,但您的NodeJS版本是。我认为NodeJS 6是第一个默认支持很多ES2015功能的,但值得注意的是它不支持新的ES模块系统。有一些Babel预设可以修复丢失的东西。这里只是我在快速搜索中找到的列表:

注意:我没有使用过它们,所以我不能为你推荐。