前端工程产品、项目all in one 规范
工程改造
一、新建std模块
将原标准产品工程代码,移到该文件夹
pai-finance-ui 工程根目录
├─pai-project 应用启动配置
├─project 客制化根目录
│ ├─hf 客制化项目模块
│ └─hngh 客制化项目模块
└─std 标准模块
二、新建project模块
里面按项目,区分文件夹,将代码移到对应项目
项目客制化功能:
- 项目代码,新建 [project] 文件夹下,新建 [项目A] 文件夹,根据 [std] 目录层级:新增、修改文件
- 与 [std] 内代码一样的,不需建在项目下
三、引入 @flyriselink/pai-project
插件
具体安装说明及使用:
配置初始化
根目录下新建文件 pai-project/index.js
const PaiProject = require('@flyriselink/pai-project')
PaiProject({
process: process,
// log: false,
})
更改 package.json
{
"scripts": {
"p-i": "cross-env MODE=install node pai-project/index",
"p-install": "cross-env MODE=install node pai-project/index",
"dev": "cross-env MODE=dev node pai-project/index",
"build": "cross-env MODE=build node pai-project/index",
"prod": "cross-env MODE=prod node pai-project/index",
"compare": "cross-env MODE=prod node pai-project/compare"
},
"dependencies": {
"cross-env": "7.0.3",
"@flyriselink/pai-project": "^1.2.0"
},
}
// 以上为:安装项目依赖、启动项目、编译项目
四、忽略文件提交
编辑 .gitignore
文件,忽略 [application] 文件夹内容提交
五、本地运行
// 1.安装依赖
$ npm i
// 2.安装项目依赖(标准版)
$ npm run p-i
或者(安装某项目依赖)
$ npm run p-i hngh(项目文件夹名称)
// 3.运行项目(标准版)
$ npm run dev
或者(运行某项目)
$ npm run dev hngh(项目文件夹名称)
- 项目启动:最终以 [application] 文件夹下代码进行:运行/编译
六、更改 Dockerfile 部署配置
原配置
ARG NODE_ENV=testRUN npm installRUN npm run build:$NODE_ENV
COPY –from=builder /build/pai-hello-ui/dist/ /usr/share/nginx/html/hello/
调整配置
ARG NODE_ENV=test
RUN npm install
RUN npm run p-install -P $NODE_ENV
RUN npm run build -P $NODE_ENV
COPY --from=builder /build/pai-hello-ui/application/dist/ /usr/share/nginx/html/hello/
- 增加了 p-install
- 增加了 -P $NODE_ENV
- COPY 增加了 /application 路径
七、发布
1.部署标准版
pai image publish -n pai-hello-ui -b dev-2.0.0.0
2.部署项目
pai image publish -n pai-hello-ui -b dev-2.0.0.0 -P hngh(项目文件夹名称)
pai-project 插件
介绍
扩展功能
文件夹差异对比
- 快速删除项目中相同的文件
1. 初始配置
1. 根目录下新建文件 pai-project/compare.js
const PaiProject = require('@flyriselink/pai-project')
PaiProject({
process: process,
// log: false,
isCompare: true,
})
2. 更改 package.json
{
"scripts": {
"compare": "cross-env MODE=build node pai-project/compare",
...
}
}
2. 进行对比、删除文件
$ npm run compare hngh(项目文件夹名称)
文档更新时间: 2023-10-12 10:43 作者:戴均豪