reactjs - 在尝试使用react-typescript中的故事书创建共享组件时无法解决 'react/jsx-runtime'错误

标签 reactjs typescript storyboard rollup

我试图使用带有react-redux的故事书来创建共享组件。我正在使用汇总来创建共享组件。由于某些错误而无法创建共享组件。
package.json

{
  "name": "story1",
  "version": "0.1.0",
  "private": false,
  "main": "./build/index.js",
  "module": "./build/index.es.js",
  "peerDependencies": {
    "react": "^17.0.1",
    "react-dom": "^17.0.1"
  },
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/jest": "^26.0.15",
    "@types/node": "^12.0.0",
    "@types/react": "^16.9.53",
    "@types/react-dom": "^16.9.8",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.1",
    "rollup": "2.30",
    "typescript": "^4.0.3",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "start-storybook -p 6006 -s public",
    "build": "rollup -c",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "build-storybook": "build-storybook -s public"
  },
  "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": {
    "@rollup/plugin-commonjs": "^17.0.0",
    "@rollup/plugin-node-resolve": "^11.0.1",
    "@storybook/addon-actions": "^6.1.11",
    "@storybook/addon-essentials": "^6.1.11",
    "@storybook/addon-links": "^6.1.11",
    "@storybook/node-logger": "^6.1.11",
    "@storybook/preset-create-react-app": "^3.1.5",
    "@storybook/react": "^6.1.11",
    "rollup-plugin-peer-deps-external": "^2.2.4",
    "rollup-plugin-typescript2": "^0.29.0"
  }
}
rollup.config.js
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
import peerDepsExternal from "rollup-plugin-peer-deps-external";
import typescript from "rollup-plugin-typescript2";

import packageJson from "./package.json";

// eslint-disable-next-line import/no-anonymous-default-export
export default {
  input: "./src/index.ts",
  output: [
    {
      file: packageJson.main,
      format: "cjs",
      sourcemap: true
    },
    {
      file: packageJson.module,
      format: "esm",
      sourcemap: true
    }
  ],
  plugins: [peerDepsExternal(), resolve(), commonjs(), typescript()]
};
然后在其他存储库中运行yarn add stroy1命令。
当我尝试使用此组件时出现错误
ERROR in ./node_modules/story1/build/index.es.js
Module not found: Error: Can't resolve 'react/jsx-runtime' in '/Users/gowthamv/Documents/Workspace/my-app/node_modules/story1/build'
 @ ./node_modules/story1/build/index.es.js 1:0-56 47:12-15 52:12-15 52:38-42 52:98-102 52:123-126 52:245-249 52:316-319 53:36-39 54:36-39 55:24-27 56:16-19 56:47-50 56:127-131 56:132-140 56:155-158 57:28-31 62:12-16 62:41-44 63:12-16 63:41-44 64:20-24 64:84-87 64:201-204 65:20-23 66:20-24 66:44-47 67:28-31 68:20-24 68:108-111 68:286-289 69:20-24 69:84-87 69:207-210 69:329-332 69:398-401
如何解决这个错误?

最佳答案

您导入组件的项目的React版本是什么?
我遇到了同样的错误,找到了2个解决方案

  • 使用React <17&Typescript <4.1.0并进行以下tsconfig更改:
    "jsx": "react" // from jsx-react
    
  • 在库和其他存储库上使用React 17
    "jsx": "react-jsx"
    
  • 关于reactjs - 在尝试使用react-typescript中的故事书创建共享组件时无法解决 'react/jsx-runtime'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65527359/

    相关文章:

    reactjs - React 中的 PayPal 捐赠按钮 : Donate SDK or Checkout SDK integration?

    reactjs - 为什么?类型 'AsyncThunkAction<any, void, {}>' 的参数不可分配给类型 'AnyAction' 的参数

    Typescript 枚举为每个枚举实例封装一个 bool 值

    ios - 在搜索栏中输入内容时导航栏消失

    ios - 使用iOS系统字体

    javascript - 如何使这个 switch case 语句不那么冗长?

    javascript - react native : Component rerender but props has not changed

    javascript - 如何在 Click React 上创建组件

    javascript - 带有 webpack 的 Mocha 无法解析模块

    ios - 具有大量 View Controller 的 Storyboard或 xib