使用babel.js代替browserify编译为bundle

svn*_*vnm 7 javascript node.js browserify reactjs babeljs

我开始使用babel.js来使用JavaScript ES6功能,但是我遇到了一个问题

我目前正在使用browserify构建我的应用程序并使用以下命令重新执行.

browserify -t reactify app/main.js -o public/scripts/bundle.js
Run Code Online (Sandbox Code Playgroud)

现在我想在babel中使用一个等效命令将我需要的模块捆绑在一起,用ES6编写一个bundle.js.这不起作用,只给我一个ES5版本的main.js文件.

babel app/main.js -o public/scripts/bundle.js
Run Code Online (Sandbox Code Playgroud)

但是我可以将我的bundle.js文件编译成带有babel的ES6版本,有2个命令

browserify -t reactify app/main.js -o public/scripts/bundle.js
babel app/main.js -o public/scripts/babel.js
Run Code Online (Sandbox Code Playgroud)

这是使用browserify使用babel的正确方法吗?使用browserify捆绑您的模块,然后将捆绑包转换为ES6?

Bri*_*and 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
Run Code Online (Sandbox Code Playgroud)

还有reactify/react-tools/jsx-loader/etc. 反应团队的工具做了巴贝尔所做的一部分,所以如果你使用巴贝尔,你可以完全删除它们.