webpack配置篇(三十):构建配置包设计

简介: webpack配置篇(三十):构建配置包设计

说明

玩转webpack学习笔记



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


通用性


  • 业务开发者无需关注构建配置:提升开发效率
  • 统一团队构建脚本


可维护性

  • 构建配置合理的拆分
  • README 文档、ChangeLog 文档等



质量

  • 冒烟测试、单元测试、测试覆盖率
  • 持续集成



构建配置管理的可选方案


1.通过多个配置文件管理不同环境的构建

使用 webpack --config 参数进行控制


2.将构建配置设计成一个库

比如:hjs-webpackNeutrinowebpack-blocks


查看更多:hjs-webpack


查看更多:Neutrino


   Neutrino is a companion tool which lets you build web and Node.js applications with shared presets or configurations. It intends to make the process of initializing and building projects much simpler by providing minimal development dependencies.


   Neutrino uses webpack to build both web and Node.js projects by providing complete build presets which can be shared across targets and projects. You can use Neutrino base presets to get started building a variety of projects, create your own presets by extending the Neutrino core ones to be shared across your own projects or even by the community. Presets can even be manipulated on a project-by-project basis to handle almost any build situation your preset doesn’t cover.


查看更多:webpack-blocks


   Functional building blocks for your webpack config: easier way to configure webpack and to share configuration between projects.


3.抽成一个工具进行管理

比如:create-react-app, kyt, nwb


查看更多:kyt

20210424200500667.png


查看更多:nwb


20210424200328589.png


4.将所有的配置放在一个文件

通过 --env 参数控制分支选择




构建配置包设计


1.通过多个配置文件管理不同环境的 webpack 配置


  • 基础配置:webpack.base.js
  • 开发环境:webpack.dev.js
  • 生产环境:webpack.prod.js
  • SSR环境:webpack.ssr.js


2.抽离成一个 npm 包统一管理

  • 规范:Git commit日志、READMEESLint 规范、Semver 规范
  • 质量:冒烟测试、单元测试、测试覆盖率和 CI


通过 webpack-merge 组合配置

npm 参考资料:webpack-merge

merge = require("webpack-merge")
merge(
  { a: [1], b: 5, c: 20 },
  { a: [2], b: 10, d: 421 }
)
// { a: [ 1, 2 ], b: 10, c: 20, d: 421 }


合并配置:module.exports = merge(baseConfig, devConfig);






目录
相关文章
|
5天前
|
缓存 JavaScript 前端开发
探讨如何通过一系列优化策略来提升TypeScript与Webpack的构建性能。
【6月更文挑战第11天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。通过这些方法,可以提升构建速度,提高开发效率。
31 0
|
4天前
|
缓存 前端开发 JavaScript
Webpack作为模块打包器,为前端项目提供了高度灵活和可配置的构建流程
【6月更文挑战第12天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。这些方法能提升构建速度,提高开发效率。
25 3
|
1月前
|
缓存 JavaScript 前端开发
【TypeScript技术专栏】TypeScript与Webpack构建优化
【4月更文挑战第30天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(关闭不必要的类型检查,适配目标环境)和webpack.config.js(配置entry、output、resolve,使用压缩插件)。启用Webpack缓存和增量构建,利用代码拆分与懒加载,能有效提升构建速度和开发效率。
|
1月前
|
前端开发
【专栏】`webpack` 的 `DefinePlugin` 插件用于在编译时动态定义全局变量,实现环境变量差异化、配置参数动态化和条件编译
【4月更文挑战第29天】`webpack` 的 `DefinePlugin` 插件用于在编译时动态定义全局变量,实现环境变量差异化、配置参数动态化和条件编译。通过配置键值对,如 `ENV: JSON.stringify(process.env.NODE_ENV)`,可以在代码中根据环境执行相应逻辑。实际应用包括动态加载资源、动态配置接口地址和条件编译优化代码。注意变量定义的合法性和避免覆盖,解决变量未定义或值错误的问题,以提升开发效率和项目质量。
|
1月前
|
缓存 JavaScript 前端开发
webpack学习笔记--基本配置
webpack学习笔记--基本配置
|
1月前
|
JavaScript 前端开发
构建工具:配置Webpack打包Vue项目
【4月更文挑战第24天】本文介绍了如何配置Webpack来打包Vue项目。首先,Webpack作为模块打包器处理依赖并打包成可执行文件。接着,通过安装Node.js和npm,创建Vue项目,进入项目目录并配置Webpack的入口、输出、加载器和插件。最后,运行构建命令完成打包。理解Webpack基础并按需配置,能优化前端项目构建和开发体验。
|
1月前
|
存储 前端开发 文件存储
webpack成长指北第5章---webpack的基础配置
webpack成长指北第5章---webpack的基础配置
29 0
|
1月前
|
缓存 前端开发 JavaScript
|
1月前
|
人工智能 移动开发 前端开发
【利用AI让知识体系化】Webpack 相关配置技巧(三)
【利用AI让知识体系化】Webpack 相关配置技巧
|
JavaScript 前端开发 缓存
不聊webpack配置,来说说它的原理
最近在前端论坛闲逛,看到了一些讲parcel、webpack的文章,就突然很好奇,每天都在用的打包工具,他们打包的原理究竟是什么。只有知道了这一点,才可以在众多的打包工具里,找到最适合的那个它。在了解打包原理之前,先花一些篇章说明了一下为什么要使用打包工具。
4633 0