umi-server
umi-server copied to clipboard
使用egg的示例,在docker中跑npm run build报错
What happens?
使用https://github.com/umijs/umi-server/tree/master/examples/eggjs 这个案例。 项目下直接npm run buid 正常运行。 使用 docker,启动交互式容器,npm run build, 提示
Error: ENOENT: no such file or directory, scandir '/usr/src/app/pages'
at readdirSync (fs.js:790:3)
at getRouteConfigFromDir (/usr/src/app/node_modules/umi-build-dev/lib/routes/getRouteConfigFromDir.js:109:39)
at _default (/usr/src/app/node_modules/umi-build-dev/lib/routes/getRouteConfig.js:57:49)
at Object.fetchRoutes (/usr/src/app/node_modules/umi-build-dev/lib/plugins/commands/getRouteManager.js:35:51)
at api.registerCommand.args (/usr/src/app/node_modules/umi-build-dev/lib/plugins/commands/build/index.js:66:19)
at Service.runCommand (/usr/src/app/node_modules/umi-build-dev/lib/Service.js:485:12)
at Service.run (/usr/src/app/node_modules/umi-build-dev/lib/Service.js:442:17)
at Object.<anonymous> (/usr/src/app/node_modules/umi/lib/scripts/build.js:33:47)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/usr/src/app/node_modules/umi/lib/cli.js:94:5)
如果通过docker映射磁盘的上的项目是没有问题,正常启动。 不知道哪里出了问题,请指教
Mini Showcase Repository(REQUIRED)
Provide a mini GitHub repository which can reproduce the issue. Use
yarn create umi
then upload to your GitHub
How To Reproduce
Steps to reproduce the behavior:
- Dockerfile
FROM node:10.16.3
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --registry=https://registry.npm.taobao.org
COPY . .
EXPOSE 7001
CMD npm start
- build docker image
docker build --rm -f "Dockerfile" -t umi-egg-ssr:latest .
- run docker container
docker run --rm -i -t -p 7001:7001/tcp umi-egg-ssr:latest /bin/bash
- run npm cli
npm run build
- throw Error
Expected behavior
希望能在docker下能正常启动,谢谢
Context
- Umi Version:
- Node Version:
- Platform: windows
我瞄瞄
手动加了个 APP_ROOT 变量倒是能临时解决这个问题
"build": "cross-env UMI_ENV=prod APP_ROOT=./app/web umi build",