我必须使用弹出的React CRA,并且由于我正在处理的这个应用程序中有多个react ui项目,因此我试图为构建脚本/依赖关系构建一个基础容器,然后将该基础容器用于所有前端实例,因此维护这些响应Webpack脚本变得更加容易。
Github存储库:https://github.com/StupidIncarnate/test-containers
当我为实际的ui项目安装package.json时,似乎react脚本被多个node_modules混淆了,并且无法访问webpack / babel所在的node_modules。
Docker分层容器结构(Linux容器)
usr
src
package.json
node_modules
scripts
config
app
node_modules
src
public
package.json
containers / app-local / ui / Dockerfile
FROM container-ui
# set working directory
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
#COPY ./app-local/ui/package.json /usr/src/app/package.json
#COPY ./app-local/ui/package-lock.json /usr/src/app/package-lock.json
#RUN npm install
COPY ./app-local/ui/src /usr/src/app/src
COPY ./app-local/ui/public /usr/src/app/public
# set working directory
WORKDIR /usr/src
如果我取消注释复制软件包和npm安装行,则在运行react应用程序时,会出现以下编译器错误:
但是,如果我不予评论,则无法安装仅用于该ui实例的软件包。