是否可以针对特定浏览器目标 运行 在 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 预设可以修补缺失的东西。这里只是我在快速搜索中找到的列表:
注意:我没有使用过它们中的任何一个,因此无法为您推荐。
查看如下表格: 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 预设可以修补缺失的东西。这里只是我在快速搜索中找到的列表:
注意:我没有使用过它们中的任何一个,因此无法为您推荐。