React-Native:无法将babel更新为ES7

时间:2016-09-07 08:09:27

标签: javascript reactjs react-native ecmascript-2017

我正在尝试使用新的ES7功能async / await,但就我在react-native node_modules中看到的情况而言,我没有它们。

我有反应原生版本0.31,我刚刚更新到0.32,我可以看到babel仍然没有使用ES7功能更新,所以我不能使用async / await。你知道如何让它成功运作吗?

2 个答案:

答案 0 :(得分:3)

您需要安装几个babel插件,然后您可以使用ES7装饰器并将其保存在devDependencies中:

1- babel-plugin-transform-decorators-legacy

npm i babel-plugin-transform-decorators-legacy --save-dev

2- babel-preset-react-native-stage-0

npm i babel-preset-react-native-stage-0 --save-dev

最后在根项目文件夹文件中创建 .babelrc (如果不存在)并添加以下行:

{
 'presets': ['react-native'],
 'plugins': ['transform-decorators-legacy']
}

答案 1 :(得分:0)

默认情况下,Babel不附带async / await。要使用它们,请安装此插件:

npm install babel-plugin-syntax-async-functions

并在.babelrc文件中使用它:

{
  "plugins": ["syntax-async-functions"]
}

参考:https://babeljs.io/docs/plugins/syntax-async-functions/