 《玩转webpack》 第二章 基础篇: webpack 基础用法玩转 webpack 腾讯IVWEB 程柳柳锋 扫码试看/订阅 《玩转 webpack》 基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 核⼼心概念之 Entry Entry ⽤用来指定 webpack 的打包⼊入⼝口 理理解依赖图的含义 依赖图的⼊入⼝口是 entry 对于⾮非代码⽐比如图⽚片、字体依赖也会 不不断加⼊入到依赖图中 Entry 的⽤用法 module0 码力 | 41 页 | 2.52 MB | 1 年前3 《玩转webpack》 第二章 基础篇: webpack 基础用法玩转 webpack 腾讯IVWEB 程柳柳锋 扫码试看/订阅 《玩转 webpack》 基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 核⼼心概念之 Entry Entry ⽤用来指定 webpack 的打包⼊入⼝口 理理解依赖图的含义 依赖图的⼊入⼝口是 entry 对于⾮非代码⽐比如图⽚片、字体依赖也会 不不断加⼊入到依赖图中 Entry 的⽤用法 module0 码力 | 41 页 | 2.52 MB | 1 年前3
 《玩转webpack》 第三章 基础篇 Webpack 进阶用法基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 ������� ����������� 当前构建时的问题 每次构建的时候不不会清理理⽬目录,造成构建的输出⽬目录 output ⽂文件越来越多 通过 npm scripts 清理理构建⽬目录 rm -rf ./dist && webpack rimraf ./dist && webpack ⾃自动清理理构建⽬目录 module inline: 将.map作为DataURI嵌⼊入,不不单独⽣生成.map⽂文件 module:包含loader的sourcemap source map 类型 基础库分离 ·思路路:将 react、react-dom 基础 包通过 cdn 引⼊入,不不打⼊入 bundle 中 ·⽅方法:使⽤用 html-webpack- externals-plugin 利利⽤用 SplitChunksPlugin0 码力 | 69 页 | 4.33 MB | 1 年前3 《玩转webpack》 第三章 基础篇 Webpack 进阶用法基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 ������� ����������� 当前构建时的问题 每次构建的时候不不会清理理⽬目录,造成构建的输出⽬目录 output ⽂文件越来越多 通过 npm scripts 清理理构建⽬目录 rm -rf ./dist && webpack rimraf ./dist && webpack ⾃自动清理理构建⽬目录 module inline: 将.map作为DataURI嵌⼊入,不不单独⽣生成.map⽂文件 module:包含loader的sourcemap source map 类型 基础库分离 ·思路路:将 react、react-dom 基础 包通过 cdn 引⼊入,不不打⼊入 bundle 中 ·⽅方法:使⽤用 html-webpack- externals-plugin 利利⽤用 SplitChunksPlugin0 码力 | 69 页 | 4.33 MB | 1 年前3
 《玩转webpack》 第一章 基础篇: webpack 与构建发展简史内容综述 基础篇 P1-P3 进阶篇 P4-P5 原理理篇 P6-P7 实战篇 P8 webpack 的基本概念和⽇日常 开发的实⽤用技巧 以⼯工程化的⽅方式组织 webpack 构 建配置,和 webpack 打包优化 详细剖析 webpack 打包原理理 和插件、Loader 的实现 从实际 Web 商城项⽬目出发, 讲解 webpack 实际使⽤用 基础篇:webpack CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法0 码力 | 17 页 | 690.93 KB | 1 年前3 《玩转webpack》 第一章 基础篇: webpack 与构建发展简史内容综述 基础篇 P1-P3 进阶篇 P4-P5 原理理篇 P6-P7 实战篇 P8 webpack 的基本概念和⽇日常 开发的实⽤用技巧 以⼯工程化的⽅方式组织 webpack 构 建配置,和 webpack 打包优化 详细剖析 webpack 打包原理理 和插件、Loader 的实现 从实际 Web 商城项⽬目出发, 讲解 webpack 实际使⽤用 基础篇:webpack CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法0 码力 | 17 页 | 690.93 KB | 1 年前3
 《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 构建配置抽离成 npm 包的意义 可维护性 通用性 质量 ·业务开发者无需关注构建配置 ·统一团队构建脚本 ·构建配置合理的拆分 ·README 文档、ChangeLog 文档等 ·冒烟测试、单元测试、测试覆盖率 ·持续集成 构建配置管理的可选方案 将构建配置设计成一个库,比如:hjs-webpack、Neutrino、webpack-blocks ·规范:Git commit日志、README、ESLint 规范、Semver 规范 ·质量:冒烟测试、单元测试、测试覆盖率和 CI ·SSR环境:webpack.ssr.js …… ·基础配置:webpack.base.js 通过 webpack-merge 组合配置 > merge = require("webpack-merge") ... > merge( ... { a:0 码力 | 30 页 | 5.38 MB | 1 年前3 《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 构建配置抽离成 npm 包的意义 可维护性 通用性 质量 ·业务开发者无需关注构建配置 ·统一团队构建脚本 ·构建配置合理的拆分 ·README 文档、ChangeLog 文档等 ·冒烟测试、单元测试、测试覆盖率 ·持续集成 构建配置管理的可选方案 将构建配置设计成一个库,比如:hjs-webpack、Neutrino、webpack-blocks ·规范:Git commit日志、README、ESLint 规范、Semver 规范 ·质量:冒烟测试、单元测试、测试覆盖率和 CI ·SSR环境:webpack.ssr.js …… ·基础配置:webpack.base.js 通过 webpack-merge 组合配置 > merge = require("webpack-merge") ... > merge( ... { a:0 码力 | 30 页 | 5.38 MB | 1 年前3
 《玩转webpack》第五章 进阶篇: webpack 构建速度和体积优化策略基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 stats: 构建的统计信息 package.json 中使用 stats 初级分析:使用 webpack 内置的 stats Node.js 中使用 颗粒度太粗, 看不出问题所在 速度分析:使用 speed-measure-webpack-plugin 可以看到每个 loader 和插件执行耗时 代码示例 速度分析插件作用 分析整个打包总耗时 分包:设置 Externals 思路:将 react、react-dom 基础包通过 cdn 引入,不打入 bundle 中 方法:使用 html-webpack-externals- plugin 进一步分包:预编译资源模块 思路:将 react、react-dom、redux、react-redux 基础包和业务基础包打包成一个文件 方法:使用 DLLPlugin 进行分包,DllReferencePlugin0 码力 | 36 页 | 8.13 MB | 1 年前3 《玩转webpack》第五章 进阶篇: webpack 构建速度和体积优化策略基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 stats: 构建的统计信息 package.json 中使用 stats 初级分析:使用 webpack 内置的 stats Node.js 中使用 颗粒度太粗, 看不出问题所在 速度分析:使用 speed-measure-webpack-plugin 可以看到每个 loader 和插件执行耗时 代码示例 速度分析插件作用 分析整个打包总耗时 分包:设置 Externals 思路:将 react、react-dom 基础包通过 cdn 引入,不打入 bundle 中 方法:使用 html-webpack-externals- plugin 进一步分包:预编译资源模块 思路:将 react、react-dom、redux、react-redux 基础包和业务基础包打包成一个文件 方法:使用 DLLPlugin 进行分包,DllReferencePlugin0 码力 | 36 页 | 8.13 MB | 1 年前3
 《玩转webpack》第六章 原理篇: 通过源码掌握 webpack 打包原理基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 开始:从 webpack 命令行说起 ·开发环境: npm run dev 通过 npm scripts 运行 webpack ·生产环境:npm run build 通过 webpack 直接运行 ·webpack entry.js bundle.js 这个过程发生了 什么? 查找 webpack 入口文件 在命令行运行以上命令后, args 分析 参数分组 (config/config-args.js),将命令划分为9类: ·Config options: 配置相关参数(文件名称、运行环境等) ·Basic options: 基础参数(entry设置、debug模式设置、watch监听设置、devtool设置) ·Module options: 模块参数,给 loader 设置扩展 ·Output options: 输出参数(输出路径、输出文件名称)0 码力 | 39 页 | 3.66 MB | 1 年前3 《玩转webpack》第六章 原理篇: 通过源码掌握 webpack 打包原理基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 开始:从 webpack 命令行说起 ·开发环境: npm run dev 通过 npm scripts 运行 webpack ·生产环境:npm run build 通过 webpack 直接运行 ·webpack entry.js bundle.js 这个过程发生了 什么? 查找 webpack 入口文件 在命令行运行以上命令后, args 分析 参数分组 (config/config-args.js),将命令划分为9类: ·Config options: 配置相关参数(文件名称、运行环境等) ·Basic options: 基础参数(entry设置、debug模式设置、watch监听设置、devtool设置) ·Module options: 模块参数,给 loader 设置扩展 ·Output options: 输出参数(输出路径、输出文件名称)0 码力 | 39 页 | 3.66 MB | 1 年前3
 《玩转webpack》第八章 实战篇: React 全家桶 和 webpack 开发商城项巨基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 扫码试看/订阅 《玩转 webpack》视频课程 商城技术栈选型 前端 后端 商城架构设计 平台层 ⾸首⻚页 列列表⻚页 购物⻋车⻚页 商品管理理 订单管理理 ⽤用户端 管理理后台 服务层 基础设施 商品服务 订单服务 购物⻋车服务 搜索服务 ⽀支付服务 评论服务 CI/CD …… 订单⻚页 详情⻚页 登陆/注册0 码力 | 25 页 | 5.67 MB | 1 年前3 《玩转webpack》第八章 实战篇: React 全家桶 和 webpack 开发商城项巨基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 扫码试看/订阅 《玩转 webpack》视频课程 商城技术栈选型 前端 后端 商城架构设计 平台层 ⾸首⻚页 列列表⻚页 购物⻋车⻚页 商品管理理 订单管理理 ⽤用户端 管理理后台 服务层 基础设施 商品服务 订单服务 购物⻋车服务 搜索服务 ⽀支付服务 评论服务 CI/CD …… 订单⻚页 详情⻚页 登陆/注册0 码力 | 25 页 | 5.67 MB | 1 年前3
 《玩转webpack》第七章 原理篇: 编写 Loader 和插件基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 一个最简单的 loader 代码结构 module.exports = function(source) { return source; }; 定义:loader 只是一个导出为函数的 JavaScript 模块 多 Loader 时的执行顺序 多个 Loader 串行执行 顺序从后到前 module.exports = String[]: loader 的绝对路径(可以增加查询字符串) context: { minimize: true }, // 基础上下文之外的额外 loader 上下文 readResource: fs.readFile.bind(fs) // 读取资源的函数 }, function(err0 码力 | 29 页 | 4.37 MB | 1 年前3 《玩转webpack》第七章 原理篇: 编写 Loader 和插件基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 08 基础篇:webpack 进阶用法 03 一个最简单的 loader 代码结构 module.exports = function(source) { return source; }; 定义:loader 只是一个导出为函数的 JavaScript 模块 多 Loader 时的执行顺序 多个 Loader 串行执行 顺序从后到前 module.exports = String[]: loader 的绝对路径(可以增加查询字符串) context: { minimize: true }, // 基础上下文之外的额外 loader 上下文 readResource: fs.readFile.bind(fs) // 读取资源的函数 }, function(err0 码力 | 29 页 | 4.37 MB | 1 年前3
共 8 条
- 1













