【发布时间】:2015-12-14 21:04:48
【问题描述】:
我想在我的 JavaScript 中同时使用 Browserify 和 Babel。为此,我创建了一个 gulp 任务
gulp.task('babel', function() {
return gulp.src('_babel/*.js')
.pipe(browserify({ insertGlobals : true }))
.pipe(babel({ presets: ['es2015'] }))
.pipe(gulp.dest('_dev/js'));
});
不幸的是,当我想在我的代码中使用 import 时,我收到了一个错误:
ParseError: 'import' and 'export' may only appear at the top level
我的主js文件很简单:
import 'directives/toggleClass';
我猜是因为 Babel(而且是 use strict 加法),但我该怎么办?
【问题讨论】:
-
改变顺序(在browserify之前放置babel)有帮助吗?
-
不,我试过了,删除
babel也无济于事。 -
不是答案,但您是否尝试使用 github.com/babel/babelify 代替?
-
你需要用 babel 6 制作一个
.babelrc文件 -
Browserify 与 Common JS 模块一起工作。您正在使用 ES6 模块。在使用 Browserify 之前,您需要将 ES6 模块转换为 commonJS。
标签: javascript gulp browserify babeljs