书籍详情
Node.js+Webpack开发实战
作者:夏磊
出版社:清华大学出版社
出版时间:2020-06-01
ISBN:9787302555957
定价:¥69.00
购买这本书可以去
内容简介
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它用于构建高速、可伸缩的网络应用程序,为前端开发提供了新的机遇。为了让前端开发者更有效地使用Node.js进行开发,作者结合自己的开发经验编著了本书,全书提供了丰富的示例代码,详细讲述和演示了如何将所学的知识应用于实际的开发中。 本书分为三部分共21章,第一部分Node.js基础:Node.js概述,搭建Node.js开发环境,Node.js编程基础;第二部分后端的Node.js:Express框架,Koa框架,MongoDB数据库,MySQL数据库,ORM框架Sequelize,微博系统实战项目,高性能内存型数据库Redis,前端的发展现状;第三部分前端的Node.js:前端发展状况,Webpack基础,Webpack常用配置,Webpack构建Vue应用,Webpack构建React应用,服务端渲染技术和同构应用的开发,Webpack构建传统多页面Web应用,Webpack性能优化,Webpack自定义Loader的编写,Webpack自定义Plugin的编写。 本书适合Node.js+Webpack前端开发工程师作为自学参考书,也适合高等院校和培训学校相关专业的师生作为教学参考书。
作者简介
夏磊,毕业于湖南工业大学网络工程专业,拥有多年研发经验。在过去的几年里,他还是很多开源项目的贡献者。精通PHP脚本开发、Node.js/Golang服务端开发以及JavaScript开发,善于把握与应用新技术,博客和公众号上有大量的Web相关技术文章,深受读者好评。著有图书《ThinkPHP实战》和《ThinkPHP5实战》。
目录
部分 Node.js基础篇
第1章 Node.js概述 3
1.1 NODE.JS是什么 3
1.2 NODE.JS的运行原理 5
1.3 NODE.JS的应用场景 6
1.3.1 Node.js优缺点 6
1.3.2 应用场景 7
1.4 本章小结 7
第2章 搭建Node.js开发环境 8
2.1 安装NODE.JS 8
2.1.1 Windows上安装Node.js 8
2.1.2 Linux安装Node.js 9
2.1.3 Ubuntu安装Node.js 9
2.1.4 CentOS安装Node.js 9
2.1.5 macOS安装Node.js 10
2.2 安装VSCODE编辑器 10
2.3 编写HTTP服务器 11
2.4 本章小结 12
第3章 Node.js编程基础 13
3.1 NPM包管理器介绍 13
3.1.1 更换NPM镜像源 13
3.1.2 初始化项目 14
3.1.3 使用npm命令安装模块 14
3.1.4 本地安装与全局安装 14
3.1.5 生产依赖和开发依赖 15
3.1.6 其他npm命令 15
3.2 YARN包管理器介绍 16
3.2.1 安装Yarn 16
3.2.2 Yarn常用命令 16
3.3 解读PACKAGE.JSON文件 16
3.3.1 package.json字段说明 17
3.3.2 版本号说明 18
3.3.3 常见的版本号限定符 18
3.4 NODE.JS的模块系统 18
3.4.1 module和exports 19
3.4.2 require 20
3.4.3 开发一个自定义模块 21
3.5 NODE.JS的异步编程风格 22
3.5.1 回调函数 22
3.5.2 Promise 23
3.5.3 async/await 26
3.6 NODE.JS常用核心模块 28
3.6.1 events模块 28
3.6.2 fs模块 29
3.6.3 stream接口 32
3.6.4 http模块 35
3.7 本章小结 36
第二部分 后端的Node.js
第4章 流行的Web框架——Express 39
4.1 框架简介 39
4.2 快速开始 40
4.2.1 初始化项目 40
4.2.2 开始编码 40
4.2.3 运行应用 41
4.2.4 小结 41
4.3 路由 41
4.3.1 路由方法 42
4.3.2 路由路径 42
4.3.3 路由参数 44
4.3.4 路由函数 45
4.4 请求对象 47
4.4.1 获取请求Cookie 49
4.4.2 获取请求体 50
4.5 响应对象 50
4.6 中间件 54
4.6.1 全局中间件 54
4.6.2 路由中间件 55
4.6.3 可配置的中间件 55
4.6.4 Cookie中间件 57
4.6.5 响应时长中间件 57
4.6.6 静态资源中间件 58
4.7 错误处理 59
4.7.1 同步错误 59
4.7.2 异步错误 60
4.7.3 自定义错误处理函数 60
4.7.4 多个错误处理函数 61
4.8 模板渲染 62
4.8.1 使用ejs模板 62
4.8.2 ejs语法 63
4.9 留言板项目开发 65
4.9.1 开始编码 65
4.9.2 运行项目 67
4.10 本章小结 68
第5章 下一代Web开发框架——Koa 70
5.1 KOA简介 70
5.2 BLUEBIRD 71
5.3 KOA快速开始 72
5.3.1 初始化项目 72
5.3.2 开始编码 73
5.4 CONTEXT 73
5.5 COOKIE操作 75
5.5.1 Cookie签名 75
5.5.2 写入Cookie 75
5.5.3 读取Cookie 76
5.5.4 中间件 76
5.5.5 请求日志中间件 78
5.5.6 可配置的中间件 79
5.5.7 Cookie解析中间件 80
5.5.8 路由函数 81
5.5.9 多个路由函数 81
5.5.10 错误处理 82
5.5.11 多个错误处理器 83
5.6 路由系统 84
5.6.1 快速开始 85
5.6.2 路由对象 85
5.6.3 路由路径 86
5.6.4 路由函数 86
5.6.5 路由级别中间件 87
5.6.6 路由前缀 87
5.6.7 模块化路由 88
5.7 模板渲染 89
5.7.1 快速开始 89
5.7.2 模板布局 90
5.8 博客项目实战 92
5.8.1 功能梳理 92
5.8.2 项目代码 93
5.8.3 效果展示 100
5.8.4 项目小结 102
5.9 本章小结 102
第6章 文档型NoSQL数据库——MongoDB 103
6.1 简介 103
6.1.1 主要特点 103
6.1.2 概念 104
6.1.3 数据库 104
6.1.4 集合 105
6.1.5 文档 105
6.2 安装 106
6.2.1 Windows 106
6.2.2 Linux 107
6.2.3 macOS 108
6.3 常用操作 109
6.3.1 创建数据库 109
6.3.2 删除数据库 109
6.3.3 创建集合 110
6.3.4 查看集合 110
6.3.5 删除集合 110
6.3.6 索引 111
6.3.7 插入文档 112
6.3.8 更新文档 112
6.3.9 删除文档 113
6.3.10 查询文档 113
6.3.11 其他查询语法 115
6.4 NODE.JS集成 116
6.4.1 初始化项目 116
6.4.2 连接数据库 116
6.4.3 mongoose的关键概念 117
6.4.4 Schema 117
6.4.5 Model 120
6.5 本章小结 121
第7章 流行的关系型数据库——MySQL 123
7.1 简介 123
7.2 安装 123
7.2.1 Windows 124
7.2.2 Linux 124
7.2.3 macOS 126
7.3 术语 126
7.4 索引 127
7.4.1 普通索引 127
7.4.2 索引 127
7.4.3 联合索引 128
7.5 事务 128
7.5.1 ACID原则 128
7.5.2 事务并发问题 129
7.5.3 隔离级别 129
7.5.4 事务控制语句 129
7.6 关联关系 130
7.6.1 一对多关联 130
7.6.2 一对一关联 131
7.6.3 多对多关联 131
7.7 数据库操作 132
7.8 数据类型 133
7.9 数据表操作 135
7.9.1 创建数据表 135
7.9.2 删除数据表 136
7.9.3 添加字段 136
7.9.4 删除字段 137
7.9.5 修改字段 137
7.10 数据操作 137
7.10.1 插入数据 137
7.10.2 查询数据 138
7.10.3 修改数据 139
7.10.4 删除数据 139
7.11 本章小结 140
第8章 ORM框架——Sequelize 141
8.1 ORM 141
8.2 SEQUELIZE简介 142
8.3 快速开始 142
8.4 构造方法 143
8.5 数据类型 144
8.6 模型定义 146
8.6.1 字段设置 146
8.6.2 模型选项 147
8.6.3 Hooks 148
8.6.4 生命周期函数 149
8.6.5 模型验证器 150
8.6.6 模型方法 155
8.6.7 索引 156
8.6.8 数据库同步 157
8.7 模型使用 157
8.7.1 插入数据 158
8.7.2 更新数据 159
8.7.3 删除数据 160
8.7.4 查询数据 161
8.7.5 查询语法 164
8.7.6 事务 165
8.8 关联 167
8.8.1 hasOne 167
8.8.2 belongsTo 169
8.8.3 hasMany 171
8.8.4 belongsToMany 173
8.9 本章小结 175
第9章 微博项目开发 176
9.1 功能分析 176
9.2 数据模型 177
9.3 开始编码 177
9.3.1 初始化项目 177
9.3.2 项目目录 178
9.3.3 路由设计 178
9.3.4 共享组件 178
9.3.5 中间件 179
9.3.6 模型代码 180
9.3.7 生成数据表 183
9.3.8 业务代码 184
9.3.9 路由代码 188
9.3.10 视图文件 192
9.3.11 Web应用引导文件 193
9.4 效果展示 194
9.5 项目代码 196
9.6 本章小结 196
第10章 高性能内存型NoSQL数据库——Redis 197
10.1 REDIS简介 197
10.1.1 特点 197
10.1.2 应用场景 198
10.2 REDIS安装 198
10.2.1 在Windows下安装Redis 198
10.2.2 在Linux下安装Redis 199
10.2.3 在macOS下安装 Redis 199
10.3 REDIS支持的数据结构 200
10.3.1 String(字符串) 200
10.3.2 哈希表(Hash) 201
10.3.3 列表(List) 202
10.3.4 集合(Set) 203
10.3.5 有序集合(ZSet) 203
10.3.6 发布订阅 204
10.4 NODE.JS集成REDIS 205
10.4.1 快速开始 205
10.4.2 Promise 206
10.5 本章小结 207
第11章 实时双向Web技术——WebSocket 208
11.1 传统的实时WEB技术 208
11.1.1 Ajax轮询(Ajax Polling) 208
11.1.2 服务器推送(Comet) 209
11.2 WEBSOCKET 209
11.3 实现WEBSOCKET握手协议 210
11.3.1 握手协议过程 211
11.3.2 服务端代码 211
11.3.3 客户端代码 212
11.4 使用WS模块开发聊天室 212
11.4.1 安装依赖 213
11.4.2 服务端代码 213
11.4.3 客户端代码 214
11.5 本章小结 215
第三部分 前端中的Node.js
第12章 迅速发展的前端技术 219
12.1 模块系统 219
12.1.1 CommonJS 220
12.1.2 AMD 220
12.1.3 CMD 221
12.1.4 ES6模块化 221
12.2 新语言 222
12.2.1 ES6 222
12.2.2 TypeScript 222
12.2.3 Less 223
12.2.4 SCSS 223
12.3 新框架 224
12.3.1 AngularJS 224
12.3.2 React 224
12.3.3 Vue 224
12.3.4 Angular 225
12.4 构建工具 225
12.4.1 Grunt 226
12.4.2 Gulp 226
12.4.3 Webpack 227
12.5 本章小结 228
第13章 Webpack起步 229
13.1 安装 229
13.2 示例项目 230
13.3 LOADER 231
13.3.1 CSS处理 231
13.3.2 图片处理 232
13.4 PLUGIN 234
13.4.1 提取CSS 234
13.4.2 自动更新HTML中的资源引用 236
13.5 开发服务器 237
13.6 核心概念 239
13.7 本章小结 239
第14章 Webpack配置 240
14.1 MODE 241
14.2 ENTRY 和 CONTEXT 241
14.2.1 不配置Context的情况 241
14.2.2 配置Context的情况 242
14.3 OUTPUT 242
14.3.1 chunkFilename 243
14.3.2 path 243
14.3.3 publicPath 244
14.3.4 libraryTarget和library 244
14.4 MODULE 246
14.4.1 noParse 246
14.4.2 rules 247
14.5 RESOLVE 248
14.5.1 alias 248
14.5.2 extensions 249
14.5.3 mainFields 249
14.5.4 modules 250
14.6 DEVTOOL 250
14.7 EXTERNALS 250
14.8 DEVSERVER 251
14.9 PLUGINS 252
14.10 完整示例 252
14.11 本章小结 254
第15章 Vue实战 255
15.1 HELLO WORLD 255
15.2 配置WEBPACK 257
15.2.1 Loader和Plugin 257
15.2.2 安装依赖模块 257
15.2.3 编写配置文件 258
15.2.4 执行构建 259
15.3 生产构建 259
15.3.1 Webpack配置 259
15.3.2 package.json修改 260
15.4 TYPESCRIPT支持 261
15.4.1 TypeScript配置 261
15.4.2 Webpack配置 262
15.4.3 App.vue 263
15.5 本章小结 264
第16章 React实战 265
16.1 JSX 265
16.2 BABEL 266
16.3 TYPESCRIPT 268
16.4 本章小结 271
第17章 服务端渲染 272
17.1 SSR原理 273
17.2 添加SSR的WEBPACK.CONFIG.JS 273
17.3 添加SSR的入口文件 274
17.4 添加SSR打包命令 275
17.5 执行构建 275
17.6 添加NODE.JS HTTP服务器 275
17.7 目录结构 276
17.8 运行应用 276
17.9 本章小结 277
第18章 多页应用脚手架 278
18.1 项目结构 278
18.2 开发步骤 279
18.2.1 初始化项目与安装依赖 279
18.2.2 配置 280
18.3 业务代码 282
18.4 本章小结 283
第19章 性能优化 284
19.1 限定WEBPACK处理文件范围 284
19.2 DLLPLUGIN 285
19.3 HAPPYPACK 287
19.4 TREE-SHAKING 288
19.5 按需加载 289
19.6 提取公共代码 289
19.7 热更新 290
19.8 本章小结 290
第20章 编写自定义Loader 291
20.1 基本LOADER 291
20.2 LOADER选项 293
20.3 异步LOADER 294
20.4 "RAW" LOADER 295
20.5 读取LOADER配置文件 295
20.5.1 项目结构 295
20.5.2 执行构建 297
20.6 本章小结 297
第21章 编写自定义插件 298
21.1 基本构建流程 298
21.2 插件示例 299
21.3 COMPILER与COMPILATION对象 299
21.4 TAPABLE 300
21.5 常用操作 301
21.5.1 读取输出资源、模块及依赖 301
21.5.2 修改输出资源 302
21.6 插件编写实例 302
21.6.1 生成清单文件 303
21.6.2 构建结果上传到CDN 304
21.7 本章小结 306
第1章 Node.js概述 3
1.1 NODE.JS是什么 3
1.2 NODE.JS的运行原理 5
1.3 NODE.JS的应用场景 6
1.3.1 Node.js优缺点 6
1.3.2 应用场景 7
1.4 本章小结 7
第2章 搭建Node.js开发环境 8
2.1 安装NODE.JS 8
2.1.1 Windows上安装Node.js 8
2.1.2 Linux安装Node.js 9
2.1.3 Ubuntu安装Node.js 9
2.1.4 CentOS安装Node.js 9
2.1.5 macOS安装Node.js 10
2.2 安装VSCODE编辑器 10
2.3 编写HTTP服务器 11
2.4 本章小结 12
第3章 Node.js编程基础 13
3.1 NPM包管理器介绍 13
3.1.1 更换NPM镜像源 13
3.1.2 初始化项目 14
3.1.3 使用npm命令安装模块 14
3.1.4 本地安装与全局安装 14
3.1.5 生产依赖和开发依赖 15
3.1.6 其他npm命令 15
3.2 YARN包管理器介绍 16
3.2.1 安装Yarn 16
3.2.2 Yarn常用命令 16
3.3 解读PACKAGE.JSON文件 16
3.3.1 package.json字段说明 17
3.3.2 版本号说明 18
3.3.3 常见的版本号限定符 18
3.4 NODE.JS的模块系统 18
3.4.1 module和exports 19
3.4.2 require 20
3.4.3 开发一个自定义模块 21
3.5 NODE.JS的异步编程风格 22
3.5.1 回调函数 22
3.5.2 Promise 23
3.5.3 async/await 26
3.6 NODE.JS常用核心模块 28
3.6.1 events模块 28
3.6.2 fs模块 29
3.6.3 stream接口 32
3.6.4 http模块 35
3.7 本章小结 36
第二部分 后端的Node.js
第4章 流行的Web框架——Express 39
4.1 框架简介 39
4.2 快速开始 40
4.2.1 初始化项目 40
4.2.2 开始编码 40
4.2.3 运行应用 41
4.2.4 小结 41
4.3 路由 41
4.3.1 路由方法 42
4.3.2 路由路径 42
4.3.3 路由参数 44
4.3.4 路由函数 45
4.4 请求对象 47
4.4.1 获取请求Cookie 49
4.4.2 获取请求体 50
4.5 响应对象 50
4.6 中间件 54
4.6.1 全局中间件 54
4.6.2 路由中间件 55
4.6.3 可配置的中间件 55
4.6.4 Cookie中间件 57
4.6.5 响应时长中间件 57
4.6.6 静态资源中间件 58
4.7 错误处理 59
4.7.1 同步错误 59
4.7.2 异步错误 60
4.7.3 自定义错误处理函数 60
4.7.4 多个错误处理函数 61
4.8 模板渲染 62
4.8.1 使用ejs模板 62
4.8.2 ejs语法 63
4.9 留言板项目开发 65
4.9.1 开始编码 65
4.9.2 运行项目 67
4.10 本章小结 68
第5章 下一代Web开发框架——Koa 70
5.1 KOA简介 70
5.2 BLUEBIRD 71
5.3 KOA快速开始 72
5.3.1 初始化项目 72
5.3.2 开始编码 73
5.4 CONTEXT 73
5.5 COOKIE操作 75
5.5.1 Cookie签名 75
5.5.2 写入Cookie 75
5.5.3 读取Cookie 76
5.5.4 中间件 76
5.5.5 请求日志中间件 78
5.5.6 可配置的中间件 79
5.5.7 Cookie解析中间件 80
5.5.8 路由函数 81
5.5.9 多个路由函数 81
5.5.10 错误处理 82
5.5.11 多个错误处理器 83
5.6 路由系统 84
5.6.1 快速开始 85
5.6.2 路由对象 85
5.6.3 路由路径 86
5.6.4 路由函数 86
5.6.5 路由级别中间件 87
5.6.6 路由前缀 87
5.6.7 模块化路由 88
5.7 模板渲染 89
5.7.1 快速开始 89
5.7.2 模板布局 90
5.8 博客项目实战 92
5.8.1 功能梳理 92
5.8.2 项目代码 93
5.8.3 效果展示 100
5.8.4 项目小结 102
5.9 本章小结 102
第6章 文档型NoSQL数据库——MongoDB 103
6.1 简介 103
6.1.1 主要特点 103
6.1.2 概念 104
6.1.3 数据库 104
6.1.4 集合 105
6.1.5 文档 105
6.2 安装 106
6.2.1 Windows 106
6.2.2 Linux 107
6.2.3 macOS 108
6.3 常用操作 109
6.3.1 创建数据库 109
6.3.2 删除数据库 109
6.3.3 创建集合 110
6.3.4 查看集合 110
6.3.5 删除集合 110
6.3.6 索引 111
6.3.7 插入文档 112
6.3.8 更新文档 112
6.3.9 删除文档 113
6.3.10 查询文档 113
6.3.11 其他查询语法 115
6.4 NODE.JS集成 116
6.4.1 初始化项目 116
6.4.2 连接数据库 116
6.4.3 mongoose的关键概念 117
6.4.4 Schema 117
6.4.5 Model 120
6.5 本章小结 121
第7章 流行的关系型数据库——MySQL 123
7.1 简介 123
7.2 安装 123
7.2.1 Windows 124
7.2.2 Linux 124
7.2.3 macOS 126
7.3 术语 126
7.4 索引 127
7.4.1 普通索引 127
7.4.2 索引 127
7.4.3 联合索引 128
7.5 事务 128
7.5.1 ACID原则 128
7.5.2 事务并发问题 129
7.5.3 隔离级别 129
7.5.4 事务控制语句 129
7.6 关联关系 130
7.6.1 一对多关联 130
7.6.2 一对一关联 131
7.6.3 多对多关联 131
7.7 数据库操作 132
7.8 数据类型 133
7.9 数据表操作 135
7.9.1 创建数据表 135
7.9.2 删除数据表 136
7.9.3 添加字段 136
7.9.4 删除字段 137
7.9.5 修改字段 137
7.10 数据操作 137
7.10.1 插入数据 137
7.10.2 查询数据 138
7.10.3 修改数据 139
7.10.4 删除数据 139
7.11 本章小结 140
第8章 ORM框架——Sequelize 141
8.1 ORM 141
8.2 SEQUELIZE简介 142
8.3 快速开始 142
8.4 构造方法 143
8.5 数据类型 144
8.6 模型定义 146
8.6.1 字段设置 146
8.6.2 模型选项 147
8.6.3 Hooks 148
8.6.4 生命周期函数 149
8.6.5 模型验证器 150
8.6.6 模型方法 155
8.6.7 索引 156
8.6.8 数据库同步 157
8.7 模型使用 157
8.7.1 插入数据 158
8.7.2 更新数据 159
8.7.3 删除数据 160
8.7.4 查询数据 161
8.7.5 查询语法 164
8.7.6 事务 165
8.8 关联 167
8.8.1 hasOne 167
8.8.2 belongsTo 169
8.8.3 hasMany 171
8.8.4 belongsToMany 173
8.9 本章小结 175
第9章 微博项目开发 176
9.1 功能分析 176
9.2 数据模型 177
9.3 开始编码 177
9.3.1 初始化项目 177
9.3.2 项目目录 178
9.3.3 路由设计 178
9.3.4 共享组件 178
9.3.5 中间件 179
9.3.6 模型代码 180
9.3.7 生成数据表 183
9.3.8 业务代码 184
9.3.9 路由代码 188
9.3.10 视图文件 192
9.3.11 Web应用引导文件 193
9.4 效果展示 194
9.5 项目代码 196
9.6 本章小结 196
第10章 高性能内存型NoSQL数据库——Redis 197
10.1 REDIS简介 197
10.1.1 特点 197
10.1.2 应用场景 198
10.2 REDIS安装 198
10.2.1 在Windows下安装Redis 198
10.2.2 在Linux下安装Redis 199
10.2.3 在macOS下安装 Redis 199
10.3 REDIS支持的数据结构 200
10.3.1 String(字符串) 200
10.3.2 哈希表(Hash) 201
10.3.3 列表(List) 202
10.3.4 集合(Set) 203
10.3.5 有序集合(ZSet) 203
10.3.6 发布订阅 204
10.4 NODE.JS集成REDIS 205
10.4.1 快速开始 205
10.4.2 Promise 206
10.5 本章小结 207
第11章 实时双向Web技术——WebSocket 208
11.1 传统的实时WEB技术 208
11.1.1 Ajax轮询(Ajax Polling) 208
11.1.2 服务器推送(Comet) 209
11.2 WEBSOCKET 209
11.3 实现WEBSOCKET握手协议 210
11.3.1 握手协议过程 211
11.3.2 服务端代码 211
11.3.3 客户端代码 212
11.4 使用WS模块开发聊天室 212
11.4.1 安装依赖 213
11.4.2 服务端代码 213
11.4.3 客户端代码 214
11.5 本章小结 215
第三部分 前端中的Node.js
第12章 迅速发展的前端技术 219
12.1 模块系统 219
12.1.1 CommonJS 220
12.1.2 AMD 220
12.1.3 CMD 221
12.1.4 ES6模块化 221
12.2 新语言 222
12.2.1 ES6 222
12.2.2 TypeScript 222
12.2.3 Less 223
12.2.4 SCSS 223
12.3 新框架 224
12.3.1 AngularJS 224
12.3.2 React 224
12.3.3 Vue 224
12.3.4 Angular 225
12.4 构建工具 225
12.4.1 Grunt 226
12.4.2 Gulp 226
12.4.3 Webpack 227
12.5 本章小结 228
第13章 Webpack起步 229
13.1 安装 229
13.2 示例项目 230
13.3 LOADER 231
13.3.1 CSS处理 231
13.3.2 图片处理 232
13.4 PLUGIN 234
13.4.1 提取CSS 234
13.4.2 自动更新HTML中的资源引用 236
13.5 开发服务器 237
13.6 核心概念 239
13.7 本章小结 239
第14章 Webpack配置 240
14.1 MODE 241
14.2 ENTRY 和 CONTEXT 241
14.2.1 不配置Context的情况 241
14.2.2 配置Context的情况 242
14.3 OUTPUT 242
14.3.1 chunkFilename 243
14.3.2 path 243
14.3.3 publicPath 244
14.3.4 libraryTarget和library 244
14.4 MODULE 246
14.4.1 noParse 246
14.4.2 rules 247
14.5 RESOLVE 248
14.5.1 alias 248
14.5.2 extensions 249
14.5.3 mainFields 249
14.5.4 modules 250
14.6 DEVTOOL 250
14.7 EXTERNALS 250
14.8 DEVSERVER 251
14.9 PLUGINS 252
14.10 完整示例 252
14.11 本章小结 254
第15章 Vue实战 255
15.1 HELLO WORLD 255
15.2 配置WEBPACK 257
15.2.1 Loader和Plugin 257
15.2.2 安装依赖模块 257
15.2.3 编写配置文件 258
15.2.4 执行构建 259
15.3 生产构建 259
15.3.1 Webpack配置 259
15.3.2 package.json修改 260
15.4 TYPESCRIPT支持 261
15.4.1 TypeScript配置 261
15.4.2 Webpack配置 262
15.4.3 App.vue 263
15.5 本章小结 264
第16章 React实战 265
16.1 JSX 265
16.2 BABEL 266
16.3 TYPESCRIPT 268
16.4 本章小结 271
第17章 服务端渲染 272
17.1 SSR原理 273
17.2 添加SSR的WEBPACK.CONFIG.JS 273
17.3 添加SSR的入口文件 274
17.4 添加SSR打包命令 275
17.5 执行构建 275
17.6 添加NODE.JS HTTP服务器 275
17.7 目录结构 276
17.8 运行应用 276
17.9 本章小结 277
第18章 多页应用脚手架 278
18.1 项目结构 278
18.2 开发步骤 279
18.2.1 初始化项目与安装依赖 279
18.2.2 配置 280
18.3 业务代码 282
18.4 本章小结 283
第19章 性能优化 284
19.1 限定WEBPACK处理文件范围 284
19.2 DLLPLUGIN 285
19.3 HAPPYPACK 287
19.4 TREE-SHAKING 288
19.5 按需加载 289
19.6 提取公共代码 289
19.7 热更新 290
19.8 本章小结 290
第20章 编写自定义Loader 291
20.1 基本LOADER 291
20.2 LOADER选项 293
20.3 异步LOADER 294
20.4 "RAW" LOADER 295
20.5 读取LOADER配置文件 295
20.5.1 项目结构 295
20.5.2 执行构建 297
20.6 本章小结 297
第21章 编写自定义插件 298
21.1 基本构建流程 298
21.2 插件示例 299
21.3 COMPILER与COMPILATION对象 299
21.4 TAPABLE 300
21.5 常用操作 301
21.5.1 读取输出资源、模块及依赖 301
21.5.2 修改输出资源 302
21.6 插件编写实例 302
21.6.1 生成清单文件 303
21.6.2 构建结果上传到CDN 304
21.7 本章小结 306
猜您喜欢