本项目提供了多种打包和部署方式,您可以根据需要选择合适的方式。
这是最简单的方式,适合开发环境使用。
创建桌面快捷方式
# 以管理员身份运行PowerShell,执行:
.\create_shortcut.ps1
或者双击运行 create_shortcut.ps1
使用快捷方式启动
D:\code\vue\greater_wms\start_project.batGreaterWMS项目已经配置好了Electron打包选项,可以打包成Windows安装包。
bash
cd templates
npm install
安装Electron模式
cd templates
quasar mode add electron
构建Electron应用 ```bash
quasar dev -m electron
# 打包成安装程序 quasar build -m electron
3. **打包结果**
打包完成后,安装程序位于:
templates/dist/electron/Packaged/GreaterWMS Setup x.x.x.exe
双击安装程序即可安装,安装后会自动在桌面和开始菜单创建快捷方式。
### Electron配置说明
项目已配置了以下内容(在 `templates/quasar.conf.js` 中):
- **应用ID**: `com.electron.greaterwms`
- **产品名称**: `GreaterWMS`
- **Windows打包格式**: NSIS安装程序(.exe)
- **自动创建桌面快捷方式**: ✅ 已启用
- **允许自定义安装目录**: ✅ 已启用
---
## 方式三:打包前端为静态文件(生产部署)
如果您想将前端打包成静态文件部署到Web服务器:
### 步骤
1. **构建前端**
```bash
cd templates
npm run build
templates/dist/spa/
可以将这些文件部署到Nginx、Apache等Web服务器。
ALLOWED_HOSTS 包含您的域名。如果需要完整的容器化部署,可以创建Docker配置:
后端Dockerfile (项目根目录):
FROM python:3.8
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8008
CMD ["daphne", "-b", "0.0.0.0", "-p", "8008", "greaterwms.asgi:application"]
前端Dockerfile (templates目录):
FROM node:14 as build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=build /app/dist/spa /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
创建 docker-compose.yml:
version: '3'
services:
backend:
build: .
ports:
- "8008:8008"
frontend:
build: ./templates
ports:
- "80:80"
depends_on:
- backend
| 方案 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 桌面快捷方式 | 开发/测试 | 简单快速,无需打包 | 需要手动启动服务 |
| Electron打包 | 本地部署 | 一键启动,用户体验好 | 打包体积较大 |
| 静态文件部署 | 生产环境 | 性能好,易部署 | 需要Web服务器 |
| Docker | 生产环境 | 环境一致,易管理 | 需要Docker环境 |
DEBUG = False检查执行策略(PowerShell)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
使用批处理文件:直接运行 start_project.bat
npm installnpm cache clean --forcenode_modules 重新安装修改配置文件:
backend_start windows.ps1 中的端口号templates/quasar.conf.js 中的 devServer.port如有问题,请查看项目文档或提交Issue。