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

Is it possible to run a build in browserify/babel against a certain browser target?

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

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

var babelifyOptions = {
    presets: ['es2015', 'stage-0', 'react'],
    extensions: ['.js', '.jsx']
};

使用 browserify 时:

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

并有望加快构建时间。在构建到生产环境时,显然仍然需要转译。

然而,当我放弃 es2015 预设时,browserify 在构建时出现阻塞,不理解 ... 之类的东西。这是有道理的,但是是否可以 运行 仅针对 Chrome 进行浏览器化? (即允许 Chrome 当前理解的 token/operators/features)。

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

注意:我没有使用过它们中的任何一个,因此无法为您推荐。