0.0.20 • Published 1 year ago

@nigel2024/one-cli v0.0.20

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

安装

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、rspackwebpack
authSdkVerauth sdk 版本1.0.0
aladdinVeraladdin 版本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:

构建相关

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';