项目中使用的是 "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging",
时间: 2023-08-07 10:12:49 浏览: 85
如果你的Vue项目中使用了不同的构建模式(如production和staging),你可以在Dockerfile中使用环境变量来控制构建命令。
以下是一个示例的Dockerfile,可以根据构建模式来选择相应的构建命令:
```Dockerfile
FROM node:14.17.0-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV
RUN if [ "$NODE_ENV" = "production" ]; then npm run build:prod; else npm run build:stage; fi
CMD ["npm", "run", "serve"]
```
这里使用了一个名为`NODE_ENV`的环境变量来控制构建命令。在运行`docker build`命令时,你可以通过`--build-arg`参数来设置环境变量的值。例如:
```
docker build -t vue-app --build-arg NODE_ENV=production .
```
这将使用`build:prod`命令构建Vue项目,并将构建模式设置为production。
```
docker build -t vue-app --build-arg NODE_ENV=staging .
```
这将使用`build:stage`命令构建Vue项目,并将构建模式设置为staging。
请根据你的项目需要进行相应的调整,并确保在Dockerfile中定义了正确的构建命令和环境变量。