使用babel.js而不是browserify来编译捆绑

我开始与babel.js使用JavaScript ES6function,但是我遇到了一个问题

我目前正在使用browserify构build我的应用程序,并使用以下命令进行重新validation。

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

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

 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 

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

不,正确的方法是使用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 

还有reactify / react-tools / jsx-loader / etc。 来自反应团队的工具做了babel所做的一个子集,所以如果你使用了babel,你可以完全删除它们。