quickbuild 是一个基于nodejs的构建工具,主要用于快速构建前端项目,适用于单项目或monorepo项目。该项目可单独执行构建命令,或是启动构建服务,并在构建过程中通过websocket实现实时构建消息通知。
# 全局安装
npm install -g @daiyu-5577/quickbuild
# 一、用于CI/CD流程,或定时任务执行构建命令
# 在项目根目录执行构建命令,-b 为需要构建的分支
quickbuild build -b dev
# 对于monorepo项目,在项目根目录执行构建命令,-p 表示需要构建的子项目路径,并可传递多个子项目路径
quickbuild build -b dev -p pkg/help
quickbuild build -b dev -p pkg/help2
quickbuild build -b dev -p pkg/help pkg/help2 pkg/help3
# 或者执行如下命令进行子项目变更分析,仅对变更项目进行构建,-c 表示需要构建的commit range,会根据commit range构建对应子项目
quickbuild build -b dev -c HEAD~...HEAD
# 可通过 -n 实现实时构建消息通知
quickbuild build -b dev -c HEAD~...HEAD -n http://127.0.0.1:3000/notify
# 二、启动 build server 服务可用于页面构建消息通知和构建日志预览
# 启动路径下可使用 git clone 预先拉取需要构建的前端项目
# 服务启动后可访问 http://localhost:3000/page
quickbuild server -p 3000
# 启动服务的 nginx 配置
location ^~ /quick/ {
proxy_pass http://127.0.0.1:3000/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# 本地启动 build command
npm run start:build
# 本地启动 build server command
npm run start:server
# 构建生产 dist
npm run tsc