【问题标题】:jsx-control-statements - ReferenceError: Choose is not definedjsx-control-statements - ReferenceError:未定义选择
【发布时间】:2016-09-22 17:07:31
【问题描述】:

我正在将 jsx-control-statements 节点模块用于 React with webpack。 通常这很好用,但是当我将我的项目复制到另一个文件夹并使用与以前相同的 package.json 运行 npm install 时,jsx-control-statements 似乎没有被 webpack 识别。

jsx-control-statements 旨在对 render() 中的标签进行脱糖并将其转换为代码反应识别。在这种情况下,它没有这样做。

我看到在检查器中运行的最终代码“选择”从未被转换为有效代码。

_react2.default.createElement(Choose, null,

我得到的错误是:

Uncaught ReferenceError: Choose is not defined

webpack.config.js 和 package.json 以及我的应用程序源代码没有改变。从一个工作的应用程序和另一个文件夹中的这个新应用程序。

我试过了:

  • 在本地和全局手动安装 jsx-control-statements。
  • 将整个 node_modules 文件夹从好项目复制并粘贴到这个新项目中。
  • 使用 eslint-jsx-control-statements 插件运行 eslint,没有错误

问题仍然存在。我相信他们是项目建设中的一个问题,但我不知道下一步该尝试什么。

【问题讨论】:

  • 您在开发者控制台中看到的错误是什么?
  • 也将其添加到我的帖子中 - 未捕获的 ReferenceError:未定义选择
  • 你能上传你的webpack配置和.babelrc文件的代码吗?
  • 在两个文件夹中运行 npm ls 是否会为每个文件夹生成相同的列表?
  • 这是我的 .babelrc 文件,我的新项目缺少它。从我当前的项目中复制它修复了错误。非常感谢您的帮助

标签: reactjs webpack jsx package.json


【解决方案1】:

问题很简单,就像我认为的那样。我错过了一个很小的 ​​.babelrc 文件,其中包含对 jsx-control-statements 的插件引用

{
    // my babel config here
    "plugins": ["jsx-control-statements"]
}

只需要把这个文件放在我的根目录下 webapck.config.js 旁边

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2012-08-24
    • 2020-08-24
    • 2015-10-04
    • 2017-04-10
    相关资源
    最近更新 更多