找不到模块“@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
。也许它会有所帮助:)
当我的应用程序部署到 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
。也许它会有所帮助:)