《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置·构建配置合理的拆分 ·README 文档、ChangeLog 文档等 ·冒烟测试、单元测试、测试覆盖率 ·持续集成 构建配置管理的可选方案 将构建配置设计成一个库,比如:hjs-webpack、Neutrino、webpack-blocks 通过多个配置文件管理不同环境的构建,webpack --config 参数进行控制 抽成一个工具进行管理,比如:create-react-app , kyt, nwb 将所有的配置放在一个文件,通过 --env 参数控制分支选择 构建配置包设计 通过多个配置文件管理不同环境的 webpack 配置 抽离成一个 npm 包统一管理 ·开发环境:webpack.dev.js ·生产环境:webpack.prod.js ·规范:Git commit日志、README、ESLint 规范、Semver 规范 ·质量:冒烟测试、单元测试、测试覆盖率和 ·alpha:是内部测试版,一般不向外部发布,会有很多 Bug。一般只有测试人员使用。 ·beta:也是测试版,这个阶段的版本会一直加入新的功能。在 Alpha 版之后推出 ·rc:Release Candidate) 系统平台上就是发行候选版本。RC 版不会再加入新的功能了,主 要着重于除错。0 码力 | 30 页 | 5.38 MB | 1 年前3
Gulp 入门指南代码执行结果 代码执行后文件结构 └── js/ │ └── a.js └── dist/ └── js/ └── a.js gulp 入门指南 - 1 - 本文档使用 看云 构建 a.js 压缩前 function demo (msg) { alert('--------\r\n' + msg + '\r\n--------') } demo('Hi') 还可以做很多事,例如: 1. 压缩CSS 2. 压缩图片 3. 编译Sass/LESS 4. 编译CoffeeScript 5. markdown 转换为 html gulp 入门指南 - 2 - 本文档使用 看云 构建 安装 Node 和 gulp gulp 是基于 node 实现的,那么我们就需要先安装 node。 Node 是一个基于Chrome JavaScript V8引擎建立的一个平台,可以利用它实现 跳转至当前目录的 demo 文件夹 cd demo // 跳转至上一级 cd .. Mac Mac 中建议只在 Documents 目录下进行文件操作。 gulp 入门指南 - 3 - 本文档使用 看云 构建 // 跳转至文档目录 cd /Users/你的用户名/Documents/ // 或第一次打开终端时直接输入 cd Documents // 查看目录下文件列表 ls // 创建文件夹 mkdir0 码力 | 36 页 | 275.87 KB | 1 年前3
《玩转webpack》 第三章 基础篇 Webpack 进阶用法}, "css-loader", "sass-loader" ], }, ] }, }; 多⻚页⾯面应⽤用(MPA)概念 每⼀一次⻚页⾯面跳转的时候,后台服务器器都会给返回⼀一个新的 html ⽂文档, 这种类型的⽹网站也就是多⻚页⽹网站,也叫做多⻚页应⽤用。 多⻚页⾯面打包基本思路路 module.exports = { entry: { index: './src/index.js', /src/*/index.js')), 使⽤用 source map 开发环境开启,线上环境关闭 作⽤用:通过 source map 定位到源代码 · 线上排查问题的时候可以将 sourcemap 上传到错误监控系统 · source map科普⽂文:http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html source map 关键字 配置增加了了重复的 key 。代码发布后,有⼩小部分使⽤用了了 vivo ⼿手 机的⽤用户反馈充值⻚页⾯面⽩白屏,⽆无法在 Now app 内进⾏行行充值。最后问题定位是: vivo ⼿手机使⽤用了了系统⾃自带的 webview ⽽而没有使⽤用 X5 内核,解析 JSON 时遇到 重复 key 报错,导致⻚页⾯面⽩白屏。 如何避免类似代 码问题? ⾏行行业⾥里里⾯面优秀的 ESLint 规范实践0 码力 | 69 页 | 4.33 MB | 1 年前3
Rspack 基于 Rust 的高性能Web 构建工具Rspack? 5. Rspack 的架构设计 6. Rspack 的生态与未来 Rspack 是什么? Rspack 是一个基于 Rust 的高性能构建引擎, 具备与 Webpack 生 态系统的互操作性,可以从 Webpack 低成本的迁移,并提供更好 的构建性能。 https://www.rspack.dev Rspack 解决了什么问题? ???️ 开发环境性能 巨型项目中 5. 支持 Persistent Cache 持久缓存 6. 更多生产环境优化策略 7. 持续优化构建性能 感谢 ??? Rspack 的实现离不开以下项目 ??? 了解更多 • 官方文档 (rspack.dev) • GitHub (web-infra-dev/rspack) • 开发指南 (web-infra-dev.github.io/rspack-dev-guide) THANKS0 码力 | 29 页 | 4.51 MB | 1 年前3
《玩转webpack》 第二章 基础篇: webpack 基础用法use: 'raw-loader' } ] } }; test 指定匹配规则 use 指定使⽤用的 loader 名称 核⼼心概念之 Plugins 插件⽤用于 bundle ⽂文件的优化,资源管理理和环境变量量注⼊入 作⽤用于整个构建过程 常⻅见的 Plugins 有哪些? Plugins 的⽤用法 const path = require('path'); module.exports 配 ignored: /node_modules/, //监听到变化发生后会等300ms再去执行,默认300ms aggregateTimeout: 300, //判断文件是否发生变化是通过不停询问系统指定文件有没有变化实现的,默认每秒问1000次 poll: 1000 } } 热更更新:webpack-dev-server { "name": "hello-webpack", "version":0 码力 | 41 页 | 2.52 MB | 1 年前3
《玩转webpack》第八章 实战篇: React 全家桶 和 webpack 开发商城项巨商城技术栈选型 前端 后端 商城架构设计 平台层 ⾸首⻚页 列列表⻚页 购物⻋车⻚页 商品管理理 订单管理理 ⽤用户端 管理理后台 服务层 基础设施 商品服务 订单服务 购物⻋车服务 搜索服务 ⽀支付服务 评论服务 CI/CD …… 订单⻚页 详情⻚页 登陆/注册 ⽤用户信息管理理 商城界⾯面 UI 设计与模块拆分 主⻚页 类⽬目⻚页 详情⻚页 登陆/注册 前台模块拆分0 码力 | 25 页 | 5.67 MB | 1 年前3
《玩转webpack》第六章 原理篇: 通过源码掌握 webpack 打包原理} = require("tapable"); Tapable 是一个类似于 Node.js 的 EventEmitter 的库, 主要是控制钩子函数的发布 与订阅,控制着 webpack 的插件系统。 Tapable库暴露了很多 Hook(钩子)类,为插件提供挂载的钩子 Tapable hooks 类型 Tapable 的使用 -new Hook 新建钩子 Tapable 暴露出来的都是类方法,new0 码力 | 39 页 | 3.66 MB | 1 年前3
共 7 条
- 1













