也许我很笨,但是我看了一个关于如何在docker容器上运行react应用程序的教程。
我创建了Dockerfile:
FROM node:18.13.0
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
然后创建图像并运行容器
docker build -t frontend-image
docker run -d --name frontend-container frontend-image
当运行Docker时,我得到很多以下错误:
2023-03-30 17:02:05 ERROR in ./src/App.js 1:40-93
2023-03-30 17:02:05 Module not found: Error: You attempted to import /app/node_modules/react-refresh/runtime.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.
2023-03-30 17:02:05 You can either move it inside src/, or add a symlink to it from project's node_modules/.
node_modules文件夹被创建了,在这种情况下,react-refresh包在node_modules文件夹中。
所以我在另一个论坛上得到了一个解决方案,但我想在这里分享它。问题是,我使用的故事书导致了多个版本的react-refresh。
解决方案是将此添加到package.json:
"overrides": {
"react-refresh": "0.11.0"
}
所以只安装一个版本的react-refresh