Проблема с asyc / await + babel + Reaction-native - PullRequest
0 голосов
/ 23 октября 2018

Мой package.json из-за использования собственного приложения createact (хотя я вручную обновил до 0.48.1 для пакета metro-react-native-babel-preset с 0.45.3):

{
  "dependencies": {
    "react": "16.5.0",
    "react-native": "0.57.0"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.48.1",
    "react-test-renderer": "16.5.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

Я использую yarn v1.10.1 и node v10.12.0 и мой .babelrc выглядит следующим образом:

{
  "presets": ["module:metro-react-native-babel-preset"]
}

Мой пример кода для async / await:

import { AsyncStorage } from 'react-native'

const MyStorage = {

  async saveItem(key, value) {
    try {
      await AsyncStorage.setItem(key, value)
    } catch(error) {
      console.log(error.message)
    }
  }
}

module.exports = { MyStorage }

Я получаю ошибку сборки:

error: bundling failed: SyntaxError: myStorage.js: Unexpected token, expected "," (13:2)

> 13 |   async saveItem(key, value) {

Как я могу это исправить?Это проблема конфигурации сборки?

1 Ответ

0 голосов
/ 25 октября 2018

Я сохранил свой исходный синтаксис, но добавил в файл package.json следующие зависимости dev:

@babel/plugin-transform-async-to-generator

@babel/runtime

...