【问题标题】:How to setup babel-cli to run react-native ES6 JavaScript code on command line?如何设置 babel-cli 在命令行上运行 react-native ES6 JavaScript 代码?
【发布时间】:2017-04-05 12:25:36
【问题描述】:

我的目标是在命令行上运行包含 console.log 语句的 ES6 JavaScript 代码,以帮助在与我的 React Native 应用程序集成之前调试代码。此代码仅包含 JS 函数。

这是我尝试过的:

Install babel-cli
   npm install --save-dev babel-cli

File: .babelrc ( in project root )
{
  "presets": ["react-native"]
}

Run sandbox:
./node_modules/.bin/babel-node app/components/sandbox.js

我收到以下运行时错误:

   /react-native/myapp/source/node_modules/react-native/Libraries/react-native/react-native.js:15
    if (__DEV__) {
        ^
        ReferenceError: __DEV__ is not defined

我曾经有过这样的工作。

我错过了什么?

【问题讨论】:

    标签: node.js react-native ecmascript-6 babel-cli


    【解决方案1】:

    React Native 是一个不同于 Node 的环境,而不仅仅是转译的代码。你不能直接在 Node 上运行 React Native 应用程序,就像你不能在 Node 上运行网页一样。

    在测试的时候,你可以使用jest的模拟功能来模拟React Native的特定模块。用于开玩笑的 react-native 预设已经做到了。

    【讨论】:

    • 我想在命令行运行一个只包含JS函数的JS模块。没有 JSX,也没有反应原生导入。我曾经有过这个工作。现在我得到一个运行时错误“DEV is not defined”
    • 从错误消息看来,您有一个 React Native 的导入。虽然不看你的代码很难说什么。
    • 感谢 satya164。你是对的,一旦我删除了一个导入反应原生导入的文件的导入,JS 代码就会运行。
    • 感谢您的帮助。下次我有一堆新的 JS 代码要测试和调试时,我应该尝试学习使用 jest。
    猜你喜欢
    • 2017-06-25
    • 2017-11-18
    • 2021-01-11
    • 2010-10-29
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多