使用babel.js代替browserify编译打包

7
我开始使用babel.js来使用JavaScript ES6功能,但是遇到了一个问题。
我正在使用以下命令使用browserify和reactify构建我的应用程序。
browserify -t reactify app/main.js -o public/scripts/bundle.js

现在我想使用babel中的等效命令将我的ES6编写的所需模块捆绑到bundle.js中。这并不起作用,只会给我一个main.js文件的ES5版本。
babel app/main.js -o public/scripts/bundle.js

然而,我可以使用babel将我的bundle.js文件编译为ES6版本,只需运行两个命令。

browserify -t reactify app/main.js -o public/scripts/bundle.js
babel app/main.js -o public/scripts/babel.js

这是使用babel和browserify的正确方式吗?即使用browserify打包模块,然后将打包文件转换为ES6代码?
1个回答

11
不,正确的方法是使用babelify。
# from
browserify -t reactify app/main.js -o public/scripts/bundle.js
# to
browserify -t babelify app/main.js -o public/scripts/bundle.js

此外,React 团队的 reactify/react-tools/jsx-loader 等工具只是 Babel 做的一部分,因此如果你正在使用 Babel,完全可以将它们全部移除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接