我是Babel的新手,我对在node.js中使用Babel有一些疑问。有一个名为' app.js'的文件,我的节点应用程序的主文件。所以我转变为app.js'用:
babel app.js --out-file app-compiled.js
它看起来不错。但问题是子文件。在" app.js"中,有一种加载外部javascript文件的语法。
import MyComponent from './components/mycomponent';
和#34; ./ components / mycomponent'是:
...
var MyComponent = { ... };
...
export default MyComponent;
如果我开始使用app-compiled.js',则会出现错误,因为子文件使用' import / export'并且节点不知道它们是什么。
有没有办法自动编译子文件或类似发送到客户端,有没有办法将整个ES2015节点应用程序捆绑到节点可以理解的单个JavaScript文件?
非常感谢它给我一些建议!
P.S。对不起,我忘了提到:我用
创建了.babelrc{
"presets": [
"es2015",
"react"
]
}
babel运行良好,但是如何使负载外部JS在带有babel的节点应用程序中使用ES2015?
答案 0 :(得分:0)
Babel不支持开箱即用的ES2015 / ES6。为此,您需要启用es2015
预设。
概述了here,但基本上您需要在项目目录中执行此操作:
$ npm install --save-dev babel-preset-es2015
$ echo '{ "presets": ["es2015"] }' > .babelrc
之后,您可以像现在一样运行babel
命令,它应该将import/export
转换为ES5等价物。