我有一个反应应用程序,我使用绝对导入而不是相对导入(https://medium.com/@ktruong008/absolute-imports-with-create-react-app-4338fbca7e3d)。在我的本地机器上一切正常,但是当我尝试在 docker 上构建时它失败了。
我有一个 .env 文件,其中包含NODE_PATH='./'create-react-app 的配置方式,它的 webpack 配置将自动选取“.env”文件并读取NODE_PATH环境变量,然后可以将其用于绝对导入,例如src/components/NavBar,解决。
但是当我尝试在 docker 上构建时,它没有解决,而是抛出了这个错误。
Cannot find module: 'src/components/NavBar'. Make sure this package is installed.
You can install this package by running: yarn add src/components/NavBar.
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激。
今天是我第一次使用 Docker,所以我是个菜鸟。
附加信息:
我使用 Dockerfile 和 docker-compose.yml 文件。
我使用 react-app-rewired ( https://github.com/timarney/react-app-rewired ) 它基本上可以帮助您覆盖 create-react-app webpack 配置而不弹出。
文件
FROM node:10.15.1
ENV NODE_ENV production
RUN mkdir /usr/invoicing
COPY . /usr/invoicing
WORKDIR /usr/invoicing
RUN npm install
RUN npm run build
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml …