找不到模块“@storybook/react”或其相应的类型声明。在 Heroku 上

Posted

技术标签:

【中文标题】找不到模块“@storybook/react”或其相应的类型声明。在 Heroku 上【英文标题】:Cannot find module '@storybook/react' or its corresponding type declarations. On Heroku 【发布时间】:2021-11-07 05:35:07 【问题描述】:

当我的应用程序部署到 heroku 上并显示下一条消息时,我遇到了问题。

我的应用在我想部署到 Heroku 的 typescript/react 上运行。我在我的应用程序中使用storybook/react

这是我的tsconfig.json 文件


  "compilerOptions": 
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "downlevelIteration": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  ,
  "include": [
    "src/**/*"
  ]

我的项目结构是:

- public
- src
   - components
     - (In here I have all the imports to storybook)
  - connectors
  - hooks
  - layout
  - state
  - theme
  - utils

我在devDependencies 有故事书/反应:

 "devDependencies": 
    "@storybook/addon-actions": "^6.3.1",
    "@storybook/addon-essentials": "^6.3.1",
    "@storybook/addon-links": "^6.3.1",
    "@storybook/node-logger": "^6.3.1",
    "@storybook/preset-create-react-app": "^3.1.6",
    "@storybook/react": "^6.3.8",
    "@types/node": "^16.7.13",
    "@types/react-router-dom": "^5.1.7",
    "colors": "^1.4.0",
    "create-react-component-folder": "^0.3.7",
    "husky": "^7.0.1",
    "prettier": "^2.3.2",
    "yargs": "^17.0.1"
  

我的 package.json 中的依赖项对象中也有这个:

"@types/jest": "^26.0.23",
"@types/react": "^17.0.11",
"@types/react-dom": "^17.0.8",

我不知道我做错了什么。最糟糕的是,如果我在本地运行应用程序,它可以工作,但在 Heroku 上它就会中断。任何想法这可能是?谢谢!

【问题讨论】:

【参考方案1】:

我刚刚检查了Heroku's Documentation,并说devDependencies 在部署之前已被剥离。我认为这是因为 devDependencies 仅用于构建,如果我没记错的话,Storybook 是在运行时使用而不是编译。因此,只需将其从 devDependencies 移至 dependencies 即可。

 
  "dependencies": 
    "@storybook/addon-actions": "^6.3.1",
    "@storybook/addon-essentials": "^6.3.1",
    "@storybook/addon-links": "^6.3.1",
    "@storybook/node-logger": "^6.3.1",
    "@storybook/preset-create-react-app": "^3.1.6",
    "@storybook/react": "^6.3.8",
  

This post 讨论 React 是 devDependency 还是 dependency。也许会有所帮助:)

【讨论】:

以上是关于找不到模块“@storybook/react”或其相应的类型声明。在 Heroku 上的主要内容,如果未能解决你的问题,请参考以下文章

找不到@ storybook / react-native @ ^ 5.0.6的匹配版本

React,Typescript - 找不到模块...或其相应的类型声明

“找不到模块 './style' 或其相应的类型声明”错误,打字稿 linter

找不到模块“护照”或其相应的类型声明

找不到模块“./App.svelte”或其对应的类型声明

找不到模块“下一个”或其相应的类型声明