修改docker-compose.dev
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
node_modules
|
||||
**/node_modules
|
||||
.git
|
||||
.gitignore
|
||||
*.md
|
||||
|
||||
@@ -1,27 +1,4 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
####################
|
||||
# 构建阶段
|
||||
####################
|
||||
FROM node:22.17.0 AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 先拷贝依赖文件
|
||||
COPY package.json ./
|
||||
|
||||
# 启用 corepack + 设置 registry
|
||||
RUN corepack enable \
|
||||
&& corepack prepare pnpm@latest --activate \
|
||||
&& pnpm config set registry https://registry.npmjs.org/ \
|
||||
&& pnpm install
|
||||
|
||||
# 再拷贝源码
|
||||
COPY . .
|
||||
|
||||
# 编译
|
||||
RUN pnpm run build:antd
|
||||
|
||||
####################
|
||||
# 生产阶段
|
||||
####################
|
||||
@@ -41,24 +18,27 @@ FROM node:22.17.0 AS dev
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ENV PNPM_SKIP_PROMPT=true
|
||||
|
||||
# 拷贝项目
|
||||
COPY . .
|
||||
|
||||
# 如果有私有 registry
|
||||
COPY .npmrc .npmrc
|
||||
COPY /apps/web-antd/.env.docker /apps/web-antd/.env.local
|
||||
|
||||
# 安装 pnpm(官方推荐 corepack,更好)
|
||||
RUN corepack enable \
|
||||
&& corepack prepare pnpm@latest --activate
|
||||
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||
|
||||
# 安装依赖(一定要在 monorepo 根目录,保证 workspace 有效)
|
||||
RUN pnpm i
|
||||
RUN pnpm store prune && rm -rf $(pnpm store path) && \
|
||||
rm -rf node_modules .npmrc package-lock.json pnpm-lock.yaml .pnpm-store .turbo && \
|
||||
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
|
||||
|
||||
RUN yes | pnpm recursive install
|
||||
|
||||
# 设置前端工作目录(根据实际情况修改)
|
||||
WORKDIR /app/apps/web-antd
|
||||
|
||||
# 暴露前端 dev server 端口
|
||||
EXPOSE 5678
|
||||
#CMD ["tail", "-f", "/dev/null"]
|
||||
|
||||
# 默认启动 dev server
|
||||
CMD ["pnpm", "run", "dev:antd"]
|
||||
CMD ["npm", "run", "dev:antd"]
|
||||
|
||||
@@ -4,7 +4,8 @@ VITE_PORT=5678
|
||||
VITE_BASE=/
|
||||
|
||||
# 接口地址
|
||||
VITE_GLOB_API_URL=http://127.0.0.1:8000/api
|
||||
VITE_GLOB_API_URL=/api
|
||||
VITE_BACKEND_URL=http://localhost:8000
|
||||
|
||||
# 是否开启 Nitro Mock服务,true 为开启,false 为关闭
|
||||
VITE_NITRO_MOCK=false
|
||||
|
||||
1
web/apps/web-antd/.env.docker
Normal file
1
web/apps/web-antd/.env.docker
Normal file
@@ -0,0 +1 @@
|
||||
VITE_BACKEND_URL=http://backend:8000
|
||||
@@ -1,17 +1,20 @@
|
||||
import { defineConfig } from '@vben/vite-config';
|
||||
|
||||
export default defineConfig(async () => {
|
||||
import { loadEnv } from 'vite';
|
||||
|
||||
export default defineConfig(async ({ mode }) => {
|
||||
// eslint-disable-next-line n/prefer-global/process
|
||||
const env = loadEnv(mode, process.cwd(), '');
|
||||
return {
|
||||
application: {},
|
||||
vite: {
|
||||
server: {
|
||||
host: '0.0.0.0', // 保证 docker 内外都能访问
|
||||
port: 5678,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: env.VITE_BACKEND_URL,
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, ''),
|
||||
// mock代理目标地址
|
||||
target: 'http://localhost:5320/api',
|
||||
ws: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user