Node.js 为什么VueJS不运行生产构建?
我正在使用Docker compose来初始化Node.js 为什么VueJS不运行生产构建?,node.js,docker,vue.js,docker-compose,Node.js,Docker,Vue.js,Docker Compose,我正在使用Docker compose来初始化ExpressJS+VueJS和RestFull API 这是docker compose: version: '3' services: webserver: build: ./webserver ports: - "3000:3000" container_name: boleto_webserver networks: - boleto volumes:
ExpressJS+VueJS
和RestFull API
这是docker compose:
version: '3'
services:
webserver:
build: ./webserver
ports:
- "3000:3000"
container_name: boleto_webserver
networks:
- boleto
volumes:
- ./webserver:/app/webserver
- /app/webserver/node_modules
website:
build: ./website
ports:
- "8080:8080"
container_name: boleto_website
networks:
- boleto
volumes:
- ./website:/app/website
- /app/webiste/node_modules
api:
build: ./api
ports:
- "3030:3030"
container_name: boleto_api
networks:
- boleto
volumes:
- ./api:/app/api
- /app/api/node_modules
networks:
boleto:
external: true
name: boleto
在DockerFile inside网站(VueJS)中,我运行了一个生产版本:
FROM node:12
WORKDIR /app/website
COPY package*.json ./
COPY . /app/website
RUN npm install
COPY . .
EXPOSE 8080
CMD ["npm","run","build"]
浏览localhost:3000
这里是启动webserve的地方我收到了以下消息:
错误:enoint:没有这样的文件或目录,stat'/app/website/build/index.html'
分析网站日志:
Note that the development build is not optimized.
To create a production build, run npm run build.
如果我单独运行这些应用程序,它们都可以正常工作!把一个码头工人扔进去,这会发生的!有人能帮我吗
更新
Web服务器坚持运行scriptdev
,如果我删除它,它就不会编译
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"serve": "nodemon app.js",
"dev": "nodemon app.js"
},
FROM node:12
WORKDIR /app/webserver
COPY package*.json ./
COPY . /app/webserver
RUN npm install && npm install nodemon
EXPOSE 3000
CMD ["npm","run","serve"]
当您将其作为卷装入
/website:/app/website
时,为什么要将复制到/app/website
?我这样做是为了测试,试图找出发生了什么。我要搬走!正如您所说的@Phil,我如何装载卷,删除副本*在每个DockerFile中,您应该删除卷:
,因此您使用的是内置于图像中的代码(以及npm运行构建的结果)。保持Dockerfile的原样。在@DavidMaze之后,我返回了COPY
,现在我收到一个错误,在multi(webpack)-dev server/client/index.js(webpack)/hot/dev-server.js./src/main.js,multi(webpack)/hot/dev-server.js(webpack)-dev server/client/index.js./src/main.js
。我不知道这是否重要,但我的文件夹中没有任何webpack.config,并且在docker之外运行,npm运行构建工作正常