浏览器化ES6代码,无需吞咽

时间:2016-03-05 07:38:04

标签: javascript gulp browserify

我正在使用browserify和ES5代码

$> browserify index.js > bundle.js

但是现在我想用ES6做同样的事情。 gulp这很容易:

gulp.task('build', function () {
    return browserify(....)
        .transform(babelify)
        .bundle()
        .pipe(source('bundle.js'))
        .pipe(gulp.dest('dist'));
});

是否可以使用此命令行工具来处理ES6代码?

更新:

以下是我的测试项目中的文件:

index.js:

import test from 'test';

test();

test.js:

export default function doit(msg = 'default msg')  {
    alert(`x: ${msg}`);
}

的index.html:

<!doctype html>
<html>
    <head><head>

    <body>
        <script src="bundle.js"></script>
    </body>
<html>

现在如果我运行建议的命令:

$> browserify index.js -o bundle.js -t babelify --presets es2015
index.js:1
import test from 'test';
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'

有什么建议我做错了吗?

1 个答案:

答案 0 :(得分:1)

试一试:

browserify -t [ babelify --presets [ es2015 ] ] origin.js -o destination.js