Work 前端项目安装指南¶
📄 创建: 刘泽伟 2026-08-03 · 修改: 刘泽伟_w 2026-08-20
0. 开发前准备¶
- 环境要求:Node.js >= 22.14.0,Yarn 1.22.x
- 建议提前准备:可访问公司 Git 仓库的账号权限
如果本机尚未安装 Yarn(或版本不符合 1.22.x),可按以下示例安装(任选其一):
1. 一键安装脚本(可选)¶
说明:适用于首次搭建环境的快速安装;如遇到网络/权限/公司 Git 访问问题,可按「2. 本地手动安装(必须)」中的步骤手动安装排查。
执行提示:脚本会在执行过程中输出交互式操作指引,执行后请按照终端提示继续完成安装/依赖下载等步骤。
安全提示:建议先下载脚本并查看内容,再执行安装。
curl -fsSL https://doc.xpku.com/mcp/files/install-bams-work.sh -o install-bams-work.sh
sh install-bams-work.sh
1.1 macOS / Linux¶
1.2 Windows¶
Windows 建议在以下任一环境中执行同一条命令:
- WSL(Ubuntu 等 Linux 子系统)
- Git Bash(随 Git for Windows 安装)
2. 本地手动安装(必须)¶
2.1 安装 bams-work(主仓库)¶
cd ~
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/bams-work.git
cd bams-work
git checkout dev
2.2 安装通用/业务组件仓库(按需)¶
说明:bams-work 使用 Yarn Workspaces 管理多个子仓库,业务开发通常需要把相关组件仓库 clone 到 bams-work 根目录下。
cd ~/bams-work
# 通用组件库(常用)
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/bams-components.git
# 业务组件仓库(只 clone 你要开发/调试的)
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/energy-ui.git
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/device-ui.git
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/mes-touch-ui.git
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/pds-ui.git
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/admin-ui.git
# 其他业务组件仓库(示例:把仓库名替换成你实际要调试的)
git clone https://git.cnbmtech.com/CNBM-CIMS/customized-project/BXJC/front-end/<your-business-ui>.git
2.3 切分支 + 安装依赖(一次完成)¶
cd ~/bams-work
# 各仓库切到 dev 分支(只对已 clone 的仓库执行)
cd bams-components && git checkout dev
cd ../energy-ui && git checkout dev
cd ../device-ui && git checkout dev
cd ../mes-touch-ui && git checkout dev
cd ../pds-ui && git checkout dev
cd ../admin-ui && git checkout dev
# 回到根目录统一安装(链接 workspaces)
cd ~/bams-work
yarn install
3. 环境变量和开发代理配置¶
3.1 环境变量配置说明:¶
环境变量文件统一放在 .envs/ 目录,可使用脚本创建:
目前仓库内已提供的环境文件(如已存在对应文件,可直接使用,无需重复创建):
.envs/.env.dev-bxjc:bxjc 环境.envs/.env.dev-bams:bams 环境.envs/.env.dev-qls:qls 环境.envs/.env.dev-mock:mock 环境.envs/.env.dev-apex:apex 环境.envs/.env.dev-pdc:pdc 环境.envs/.env.production:production 环境(构建/发布用)
关键约束:
PORT必须与PROXY_TARGET的端口保持一致(以PROXY_TARGET端口为准),否则本地代理会异常
更详细说明见:.envs/README.md
3.2 开发代理配置说明:¶
- 开发代理由根目录
vue.config.dev.js提供(该文件在.gitignore中,不会提交),首次拉仓需按模板生成:
vue.config.dev_template.js内的proxy.target默认读取环境变量PROXY_TARGET,因此通常只需要在.envs/.env.*中配置:
-
代理路由(示例):
-
静态资源:
/bams-assets - UMD/组件加载:
/bams-ui-umd - bams-work 接口:
/bams-app、/preview、/admin-api(不建议随意改动) - 业务接口:
/mes-api、/pds-api等(可按业务需要在vue.config.dev.js中补充或单独指定target) - 修改
vue.config.dev.js或环境文件后需要重启开发服务才会生效
4. 创建组件(脚手架)¶
说明:以下用 energy-ui 作为示例,实际请替换为你真实开发的业务仓库目录名。
4.1 创建基础组件包(base-*)¶
用于放通用能力(apis、utils、store、components 等)。
4.2 创建业务组件包(ui-*)¶
用于放具体业务能力组件(可依赖 base-*)。
4.3 创建页面组件包(page-*)¶
用于菜单编码对应页面组件:只负责布局/组装,可引用多个 ui-* 业务组件,不建议在页面组件中写业务逻辑。
5. 开发组件(使用文档)¶
5.1 启动 UI 组件开发服务¶
根据目标环境选择启动命令(支持 bxjc、bams、qls、mock 等):
5.2 启动页面组件(带菜单布局)¶
5.3 预览地址与路由规则¶
- 默认预览:
http://localhost:8080 - 带菜单布局的页面预览示例:
http://localhost:8080/bxjc-cmp/work/pageOrderList
路径拆解:
bxjc-cmp:应用 id(决定拉取哪套菜单数据)work:固定路径,不可修改pageOrderList:组件编码(组件包名的驼峰形式,由page-order-list转换而来;系统菜单配置使用该编码)
常见应用 id:
bxjc-mes:生产、质量bxjc-cmp:一体机bjjc-energy:能源管理bxjc-device:设备管理bams-pds:调度管理
6. 构建与上线发布¶
说明:本项目上线部署建议使用 project-startr 打包应用的方式(而非直接说明 UMD 产物)。发布前必须先生成入口文件,否则页面组件不会被正确打包进应用。
6.1 打包业务中台 bams-app(可选)¶
写入生产环境变量(必须),生产环境变量是由部署平台在上线时外部注入;构建时默认使用 production,请在构建前把生产变量写入到 .envs/.env.production 中,请参考现有的 .envs/.env.production 配置项按需填写。
bams-app 代表业务中台,强制依赖 apex-web 组件包仓库。
cd ~/bams-work
git clone https://git.cnbmtech.com/CNBM-CIMS/products/bams-apex/apex-web.git
cd apex-web
git checkout dev
cd ~/bams-work
yarn install
打包 bams-app 产物:
打包产物目录:dist/
6.2 打包业务应用(project-startr)¶
写入生产环境变量(必须),生产环境变量是由部署平台在上线时外部注入;构建时默认使用 production,请在构建前把生产变量写入到 .envs/.env.production 中,请参考现有的 .envs/.env.production 配置项按需填写。
打包 bams-app 产物:
打包产物目录:dist/
6.3 部署上线要点(简版)¶
- 将
dist/产物发布到静态资源服务器/容器镜像(按项目的 Nginx / 网关 / K8s 规范) - 系统菜单配置的组件编码填写为组件包名的驼峰形式(例如:
page-order-list->pageOrderList) - 浏览器如遇到缓存问题,优先清缓存或调整静态资源缓存策略
注意:一般情况下 bams-app 和 project-startr 不会部署在同一个容器内,请走不同环境变量配置进行容器部署。
7. 组件复用示例¶
业务中的公共组件,建议在对应业务仓库内创建通用组件包供复用:
cd ~/bams-work
yarn create-ui-component --dir energy-ui --name ui-echarts --desc 能源管理通用组件
yarn install
引用示例:
更多细节请参考:
bams-work/README.md.envs/README.md