打包 React 应用程序:当前尚未启用对实验性语法“jsx”的支持

问题描述 投票:0回答:1

我正在尝试打包应用程序“x”并在另一个应用程序“y”中使用它。 这是我的设置:

x/package.json:

{
  "name": "x",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "antd": "^5.8.6",
    "react": "^18.2.0",
    "react-copy-to-clipboard": "^5.1.0",
    "react-dom": "^18.2.0",
    "react-markdown": "^8.0.7",
    "react-scripts": "5.0.1",
    "react-scroll": "^1.8.9",
    "react-syntax-highlighter": "^15.5.0",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11"
  },
  "exports": {
    "./components/": "./src/components/"
  }
}

y/package.json:

{
  "name": "y",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4",
    "x": "file:x-0.0.1.tgz"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "INLINE_RUNTIME_CHUNK=false react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11"
  }
}

我正在使用

npm pack
打包“x”应用程序,并通过将其添加到 y/package.json 中的“依赖项”部分来安装它。

安装工作正常,但是当我尝试启动“y”应用程序时,我得到:

Support for the experimental syntax 'jsx' isn't currently enabled

“x”包中的代码。

我做错了什么?

reactjs npm package.json
1个回答
0
投票

确保根项目中的 .babelrc 具有正确的 React jsx 预设

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}

并且您的 ts.config 支持

"jsx": "react-jsx"

如果错误仍然存在,请在根目录中创建一个 babel.config.js 文件并在那里设置预设。

© www.soinside.com 2019 - 2024. All rights reserved.