0.0.20 • Published 1 year ago
@nigel2024/one-cli v0.0.20
安装
npm install @nigel/one-cli -g
初始化
one init
开发
one dev --env=dev
构建
one build --env=prd
用户配置
项目根目录下新增 one.config.js
module.exports = {
isMulti: true,
port: '9000',
assetsPublicPath: '/pay/sfk/',
appDirPath: 'src/container/',
packTool: 'webpack',
authSdkVer: '1.0.0',
aladdinVer: '1.0.22',
shareSdkVer: '3.0.2',
safeToolsVer: '1.0.23',
adverSdkVer: '3.0.0',
filterPackages: [],
report: false,
};
字段 | 描述 | 默认值 |
---|---|---|
isMulti | 是否多页面 | true |
port | 开发服务器启动的端口 | 9000 |
assetsPublicPath | 打包构建后静态资源所在目录,默认 '/' | / |
appDirPath | 页面源代码所在目录 | src/container/ |
packTool | 打包构建工具,后续支持 vite、rspack | webpack |
authSdkVer | auth sdk 版本 | 1.0.0 |
aladdinVer | aladdin 版本 | 1.0.22 |
shareSdkVer | 分享 sdk 版本 | 3.0.2 |
safeToolsVer | 安全工具箱 sdk 版本 | 1.0.23 |
adverSdkVer | 广告 sdk 版本 | 3.0.0 |
filterPackages | 全量构建可以通过 filterPackages 过滤某些子包 | [] |
report | 是否需要构建分析,分析包资源大小情况 | false |
增量打包
多页面模式,本地通过环境变量 --packages=子包1:子包2:子包3 进行增量打包
one build --env=prd --packages=子包1:子包2
线上部署环境通过透传方式,如下线上部署配置文件.wermsrc.yml
# 语言环境配置, 目前只支持node环境 language: node_js version: v14.16.3
env:
- ENV=fat
- CLEAN=0
before_build:
- ${CLEAN} = 1 && npm i
构建相关
build:
执行构建的脚本
script: - echo ${PACKAGES} - echo ${TYPE} - npm run build:${ENV} -- --packages=${PACKAGES}
dist_dir: dist/${ENV}/pay/sfk/
构建完之后的操作
after_build:
- echo Success!!
透传方式
```bash
npm run build:${ENV} -- --packages=${PACKAGES}
环境变量
根目录下新增不同环境配置文件
- .env.dev
- .env.fat
- .env.prd
更新工具函数库--开发中
one upate
迁移旧项目
packages.json 新增
"scripts": {
"start": "one dev --env=dev",
"build:prd": "one build --env=prd ",
"build:uat": "one build --env=uat",
"build:fat": "one build --env=fat"
}
新增配置 one.config.js
module.exports = {
isMulti: true,
port: '9000',
assetsPublicPath: '/',
appDirPath: 'src/container/',
packTool: 'webpack',
authSdkVer: '1.0.0',
aladdinVer: '1.0.22',
shareSdkVer: '3.0.2',
safeToolsVer: '1.0.23',
adverSdkVer: '3.0.0',
filterPackages: [],
report: false,
};
静态资源
静态图片资源放入根目录 static/images 下,只会拷贝图片,其他资源,如涉及到,请用 import 导入资源,比如css,import '@static/css/xxx.css';