使用 webpack-merge 将多环境配置合并,减少入口、加载器等重复内容,并支持以 common 为基础扩展 dev 与 prod 配置。示例展示了常用 loader、缓存、静态资源处理、开发模式的源码映射与 dev server 设置,以及生产模式中通过 mergeWithRules 替换样式链路并优化构建体积。
本文收录了 webpack 相关的基础语法、环境配置、优化、部署等实用教程,方便快速查阅。
探讨了页面加载卡顿的原因并提出了多种优化方法。主要原因包括项目包或第三方脚本过大、JavaScript 执行阻塞页面加载、图片体积大且多等。优化策略包括构建缩包按需加载、减少图片体积等。文章还详细介绍了如何通过 Webpack 插件分析项目中用到的 npm 包及大小,以及如何通过调整图片尺寸、格式转换、压缩等方式减小图片体积。
本文介绍了如何在无法直接访问 GitLab 的生产环境中,通过 SCP 和 SSH 实现代码上传及项目重启。利用 scp2 和 ssh2 npm 包完成文件传输与命令执行,并通过 webpack 打包脚本以适配 GitLab CI/CD 环境,解决依赖缺失问题,实现自动化部署。
介绍了如何使用 Webpack 单独打包 CSS 文件,通过设置“傀儡”入口文件 (style.js 和 index.style.html),结合 MiniCssExtractPlugin 和 HtmlWebpackPlugin 插件实现 CSS 文件的独立构建。提供了详细的配置示例,适用于处理零散项目的模块化打包需求。
使用 webpack-bundle-analyzer 可可视化分析构建产物并生成 stats.json,帮助定位体积来源。结合 ESBuild 或 SWC 加速转译、优化 Terser 参数、配置 Tree Shaking 与 sideEffects、压缩图片、替换大型依赖,可有效缩小最终 bundle 并提升构建性能。
使用 ts-loader 在构建打包生产代码时面对重重问题,比如 Polyfill 的自动注入等,于是转变为用 Babel 来编译 TypeScript。
总结了 TypeScript 的优势,包括类型安全、智能提示以及对 JavaScript 的兼容性。介绍了 null 和 undefined 的差异、将 JavaScript 迁移至 TypeScript 的方法、声明文件的使用以及支持导入非代码文件的方式。同时涵盖了泛型的设计理念及使用 Conventional-Changelog 自动生成变更日志的实践。
介绍了一个基于 webpack 的多页面模板,支持 GitLab 增量构建和部署。每个页面需在 pages 目录下包含 index.html 和 index.js,构建后生成独立的页面结构。通过 GitLab CI/CD 检测修改的页面,利用阿里云 OSS CLI 自动上传到云端,实现高效的增量部署。
介绍了如何初始化 npm 项目并安装 TypeScript,通过 tsconfig.json 配置和 tsc 编译 .ts 文件。使用 webpack 和 ts-loader 实现打包,并通过 ESLint 配置代码规范检测与修复。详细说明了各步骤的依赖安装、配置文件创建及命令运行。