首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >customize-cra -对实验语法'jsx‘的支持当前未启用

customize-cra -对实验语法'jsx‘的支持当前未启用
EN

Stack Overflow用户
提问于 2020-12-01 03:40:11
回答 2查看 769关注 0票数 0

我正在使用react-app-rewired来配置我的CRA项目,因为我在使用React的两个共存版本时遇到了问题,我确信这是react-app-rewired/customize-cra的一个非常常见的用例。

在我要求将react-native-calendars作为依赖项安装之前,一切都很好。正如您在我的addBabelPlugins配置中看到的;我需要安装@babel/plugin-proposal-class-properties来转换库的组件……然而,我现在收到了一个错误,它抱怨我的代码库中的JSX,我认为它一开始就已经被CRA处理了,并且看到我们正在用react-app-rewired覆盖/扩展CRA,我认为我不需要添加额外的插件/预设,比如@babel/preset-react@babel/plugin-syntax-jsx……

谁能给我指个方向?我希望这个问题是常见的,我只是搜索了问题页面很糟糕。

谢谢

信息

代码语言:javascript
复制
react@17.0.1
react-scripts@3.4.3
customize-cra@1.0.0 
npm@6.14.9
node@14.8.0

错误

代码语言:javascript
复制
Failed to compile.

./src/App.js
SyntaxError: /Users/.../src/App.js: Support for the experimental syntax 'jsx' isn't currently enabled (28:5):

  26 | 
  27 |   return (
> 28 |     <Router>
     |     ^
  29 |       <Switch>

Add @babel/preset-react (https://git.io/JfeDR) to the 'presets' section of your Babel config to enable transformation.
If you want to leave it as-is, add @babel/plugin-syntax-jsx (https://git.io/vb4yA) to the 'plugins' section to enable parsing.

config-overrides.js

代码语言:javascript
复制
const {
  override,
  addWebpackAlias,
  babelInclude,
  addBabelPresets,
  addBabelPlugins,
} = require('customize-cra');

module.exports = override(
  babelInclude([
    require.resolve('./src'),
    require.resolve('./node_modules/react-native-calendars'),
  ]),
  ...addBabelPresets(
    '@babel/preset-react',
  ),
  ...addBabelPlugins(
    '@babel/plugin-proposal-class-properties', // <~ needed for react-native-calendars
    '@babel/plugin-syntax-jsx',
  ),
  addWebpackAlias({
    react: require.resolve('./node_modules/react'),
  }),
);

原始问题here

EN

回答 2

Stack Overflow用户

发布于 2020-12-01 19:08:04

This answer解决了我的问题。

希望这对其他面临这个问题的人有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2020-12-01 03:49:24

替换jsconfig.json/tsconfig.json中的jsx配置选项,如下所示:

代码语言:javascript
复制
{
  "compilerOptions": {
    ...
-   "jsx": "react-jsx"
+   "jsx": "react"
  }
}

我找到那个here了。有关jsconfig的更多信息,请访问here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65080099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档