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

Cannot find module '@storybook/react' or its corresponding type declarations. On Heroku

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

我的应用 运行 正在 typescript/react 上运行,我想将其部署到 Heroku。我在我的应用程序中使用 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

我 storybook/react 在 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 上它就会崩溃。知道这可能是什么吗?谢谢!

我刚刚检查了 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。也许它会有所帮助:)