Skip to content
On this page

构建配置包设计

构建配置抽离成 npm 包的意义

  • 通用性
    • 业务开发者无需关注构建配置,提升开发效率
    • 统一团队构建脚本
  • 可维护性
    • 构建配置合理的拆分
    • 文档,REARME文档,ChangeLog文档
  • 质量
    • 冒烟测试,单元测试,测试覆盖率
    • 持续集成

可选方案

  • 通过多个配置文件管理不同环境的构建,webpack --config 参数进行控制
  • 将构建配置设计成一个库,比如:hjs-webpack
  • 抽成一个工具进行管理,比如:create-react-app
  • 将所有的配置放在一个文件,通过 --env 参数控制分支选择

设计

通过多个配置文件管理不同环境配置

  • 基础配置:webpack.base.js

  • 开发环境:webpack.dev.js

  • 生成环境:webpack.prod.js

    ...

抽离成一个 npm 包统一管理

  • 规范:git commit 日志,README,ESLint 规范,Semver规范
  • 质量:冒烟测试,单元测试,测试覆盖率和 CI

webpack-merge 组合配置

js
module.exports = merge(baseConfig, devConfig)

冒烟测试

冒烟测试是指提交测试的软件在进行详细深入的测试之前而进行的预测试

主要目的

  • 暴露导致软件需要重新发布的基本功能失效等严重问题

冒烟测试执行

  • 构建是否成功
  • 每次构建完成 build 目录是否有内容输出
    • 是否有 JS、CSS 等静态文件
    • 是否有 HTML 文件

持续集成

优点

  • 快速发现错误
  • 防止分支大幅度偏离主干

代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成