【问题标题】:Error on import statement in JavaScript/React Native codeJavaScript/React Native 代码中的 import 语句出错
【发布时间】:2015-08-10 19:35:37
【问题描述】:

我正在尝试在我的 iOS 应用中为单选按钮合并一个 React 组件,该组件是用 React Native 编写的,但是在尝试使用作者指定的方法导入组件时出现错误。

我首先使用以下语句将组件安装在应用程序的 XCode 项目/源代码的根目录中:

npm i -S react-native-radio-buttons

一切看起来都很好,所以我将组件的代码合并到将使用它的屏幕的 JS 文件中,但我在第一行(其中包含导入语句)出现错误。

导入语句如下:

import { RadioButtons } from 'react-native-radio-buttons'

错误是:

Uncaught SyntaxError: Unexpected reserved word

据我所知,这应该是 ES6 中可接受的处理方式。如果有人能告诉我为什么会发生这种情况,我将不胜感激。提前致谢。

【问题讨论】:

    标签: javascript ios react-native


    【解决方案1】:

    react-native-radio-buttons作者在这里,

    我假设每个人都在使用启用了 ES6 功能的 Babel。我应该将其添加到自述文件中。

    编辑:说明和示例 .babelrc 添加到 0.4.2

    请尝试将此.babelrc 文件添加到您的项目根目录,就像提供的示例一样:

    {
      "whitelist": [
        "es6.modules"
      ]
    }
    

    【讨论】:

    • 添加了.babelrc,在我把“use babel”放在有import语句的文件的顶部之后,它就开始工作了。谢谢。
    【解决方案2】:

    您是否使用工具从 ES6 进行翻译? “进口”是行不通的。你试过了吗:

    var RadioButtons = require('react-native-radio-buttons'); 
    

    改为?

    【讨论】:

    • 不,不使用工具。根据以下页面,导入语句应该在 ES6 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 中工作我尝试将其更改为您建议的代码,但它随后在使用类似导入语法的导入组件代码中的其他地方出现错误 - 不幸的是,这似乎不是就像这将是一个解决方案。
    • 我说的是'import' ES6,必须翻译成另一种语法才能让 React Native 满意。后续错误是否可能让您更接近修复?
    • 此外,我刚刚在我自己的测试项目中确认此语法会产生与您报告的相同的错误。
    • 哦,我明白了。我将所有导入语句更改为您建议的语法,现在它抱怨导出语句,如下所示: export default RadioButtons;出口{分段控制}; export { RadioButtons } 我打算将它们更改为 module.exports = Item;但我不确定如何处理“默认”导出行。
    • 尝试先通过 Babel 直接推源。这可能会有所帮助。
    猜你喜欢
    • 2018-12-16
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2020-09-12
    相关资源
    最近更新 更多