深入浅出Webpack【深入浅出Webpack】《深入浅出Webpack 》是2018年电子工业出版社出版的一本书籍,书籍的作者是吴浩麟 。
基本介绍书名:深入浅出Webpack
作者:吴浩麟
出版社:电子工业出版社
出版时间:2018年
内容简介随着Web开发技术的发展,Webpack凭藉其便于使用和涵盖面广的优势,成为目前非常流行的前端构建工具,是每位前端工程师的必备技能之一 。本书对Webpack进行了全面讲解,涵盖了Webpack入门、配置、实战、最佳化、原理等方面的内容 。其中,第1章讲解Webpack入门所涉及的知识;第2章详细讲解Webpack提供的常用配置项;第3章结合实际项目中的常见场景进行实践;第4章给出最佳化Webpack的优秀方案;第5章剖析了Webpack的原理,并讲解如何开发Plugin和Loader;附录汇总了常见的Loader、Plugin和Webpack的其他学习资源 。除了深入讲解Webpack,本书还介绍了ES6、TypeScript、PostCSS、Prepack、离线快取、单页套用、CDN等Web开发相关的技能 。无论是对 Webpack一无所知的初学者,还是经验丰富的前端工程师,相信都能够通过本书进一步提升对Webpack的理解,并在Web开发中更熟练地运用Webpack 。图书目录第1章 入门 11.1 前端的发展 21.1.1 模组化 21.1.2 新框架 51.1.3 新语言 61.2 常见的构建工具及对比 81.2.1 Npm Script 91.2.2 Grunt 101.2.3 Gulp 111.2.4 Fis3 121.2.5 Webpack 141.2.6 Rollup 151.2.7 为什幺选择 Webpack 161.3 安装Webpack 161.3.1 安装Webpack到本项目 171.3.2 安装Webpack到全局 171.3.3 使用Webpack 181.4 使用Loader 201.5 使用Plugin 221.6 使用DevServer 241.6.1 实时预览 251.6.2 模组热替换 251.6.3 支持Source Map 261.7 核心概念 27第2章 配置 282.1 Entry 292.1.1 context 292.1.2 Entry类型 302.1.3 Chunk名称 302.1.4 配置动态Entry 312.2 Output 312.2.1 filename 312.2.2 chunkFilename 322.2.3 path 332.2.4 publicPath 332.2.5 crossOriginLoading 332.2.6 libraryTarget 和 library 342.2.7 libraryExport 362.3 Module 372.3.1 配置Loader 372.3.2 noParse 392.3.3 parser 402.4 Resolve 412.4.1 alias 412.4.2 mainFields 422.4.3 extensions 422.4.4 modules 432.4.5 descriptionFiles 432.4.6 enforceExtension 432.4.7 enforceModuleExtension 442.5 Plugin 442.6 devServer 452.6.1 hot 452.6.2 inline 452.6.3 historyApiFallback 462.6.4 contentBase 472.6.5 headers 472.6.6 host 482.6.7 port 482.6.8 allowedHosts 482.6.9 disableHostCheck 492.6.10 https 492.6.11 clientLogLevel 492.6.12 compress 502.6.13 open 502.7 其他配置项 502.7.1 Target 502.7.2 Devtool 512.7.3 Watch 和 WatchOptions 512.7.4 Externals 522.7.5 ResolveLoader 532.8 整体配置结构 542.9 多种配置类型 582.9.1 导出一个Function 582.9.2 导出一个返回Promise的函式 602.9.3 导出多份配置 602.10 总结 61第3章 实战 623.1 使用ES6语言 623.1.1 认识Babel 633.1.2 接入Babel 673.2 使用TypeScript语言 673.2.1 认识TypeScript 673.2.2 减少代码冗余 693.2.3 集成Webpack 693.3 使用Flow检查器 703.3.1 认识Flow 703.3.2 使用Flow 713.3.3 集成Webpack 723.4 使用SCSS语言 733.4.1 认识SCSS 733.4.2 接入Webpack 743.5 使用PostCSS 753.5.1 认识PostCSS 753.5.2 接入Webpack 773.6 使用React框架 783.6.1 React的语法特徵 783.6.2 React与Babel 783.6.3 React与TypeScript 793.7 使用Vue框架 813.7.1 认识Vue 813.7.2 接入Webpack 83 3.7.3 使用TypeScript编写Vue套用 843.8 使用Angular2框架 863.8.1 认识Angular2 863.8.2 接入Webpack 893.9 为单页套用生成HTML 903.9.1 引入问题 903.9.2 解决方案 923.10 管理多个单页套用 953.10.1 引入问题 953.10.2 解决方案 983.11 构建同构套用 1013.11.1 认识同构套用 1013.11.2 解决方案 1033.12 构建Electron套用 1073.12.1 认识Electron 1073.12.2 接入Webpack 1103.13 构建Npm模组 1133.13.1 认识Npm 1133.13.2 抛出问题 1133.13.3 使用Webpack构建Npm模组 1153.13.4 发布到Npm 1193.14 构建离线套用 1203.14.1 认识离线套用 1203.14.2 认识Service Workers 1213.14.3 接入Webpack 1263.14.4 验证结果 1293.15 搭配Npm Script 1303.15.1 认识Npm Script 1303.15.2 Webpack为什幺需要Npm Script 1313.16 检查代码 1323.16.1 代码检查具体是做什幺的 1333.16.2 怎幺做代码检查 1333.16.3 结合Webpack检查代码 1363.17 通过Node.js API启动Webpack 1383.17.1 安装和使用Webpack模组 1393.17.2 以监听模式运行 1393.18 使用Webpack Dev Middleware 1403.18.1 Webpack Dev Middleware支持的配置项 1413.18.2 Webpack Dev Middleware与模组热替换 1433.19 载入图片 1453.19.1 使用file-loader 1453.19.2 使用url-loader 1463.20 载入SVG 1483.20.1 使用raw-loader 1493.20.2 使用svg-inline-loader 1503.21 载入Source Map 1513.21.1 该如何选择 1523.21.2 载入现有的Source Map 1533.22 实战总结 154第4章 最佳化 1564.1 缩小档案的搜寻範围 1574.1.1 最佳化loader配置 157 4.1.2 最佳化resolve.modules配置 1584.1.3 最佳化resolve.mainFields配置 1594.1.4 最佳化resolve.alias配置 1604.1.5 最佳化resolve.extensions配置 1624.1.6 最佳化module.noParse配置 1624.2 使用DllPlugin 1634.2.1 认识DLL 1634.2.2 接入Webpack 1644.3 使用HappyPack 1704.3.1 使用HappyPack 1704.3.2 HappyPack的原理 1734.4 使用ParallelUglifyPlugin 1734.5 使用自动刷新 1764.5.1 档案监听 1764.5.2 自动刷新浏览器 1794.6 开启模组热替换 1834.6.1 模组热替换的原理 1834.6.2 最佳化模组热替换 1884.7 区分环境 1894.7.1 为什幺需要区分环境 1894.7.2 如何区分环境 1904.7.3 结合UglifyJS 1924.7.4 第三方库中的环境区分 1924.8 压缩代码 1934.8.1 压缩JavaScript 1934.8.2 压缩ES6 1954.8.3 压缩 CSS 1974.9 CDN加速 1984.9.1 什幺是CDN 1984.9.2 接入CDN 1994.9.3 用Webpack实现CDN的接入 2024.10 使用Tree Shaking 2044.10.1 认识Tree Shaking 2044.10.2 接入Tree Shaking 2054.11 提取公共代码 2084.11.1 为什幺需要提取公共代码 2084.11.2 如何提取公共代码 2084.11.3 如何通过Webpack提取公共代码 2104.12 分割代码以按需载入 2134.12.1 为什幺需要按需载入 2134.12.2 如何使用按需载入 2134.12.3 用Webpack实现按需载入 2144.12.4 按需载入与ReactRouter 2164.13 使用Prepack 2184.13.1 认识Prepack 2184.13.2 接入Webpack 2204.14 开启Scope Hoisting 2204.14.1 认识Scope Hoisting 2214.14.2 使用Scope Hoisting 222 4.15 输出分析 2234.15.1 官方的可视化分析工具 2244.15.2 webpack-bundle-analyzer 2284.16 最佳化总结 229第5章 原理 2365.1 工作原理概括 2365.1.1 基本概念 2375.1.2 流程概括 2375.1.3 流程细节 2385.2 输出档案分析 2415.3 编写Loader 2485.3.1 Loader的职责 2495.3.2 Loader基础 2495.3.3 Loader进阶 2505.3.4 其他Loader API 2535.3.5 载入本地Loader 2545.3.6 实战 2565.4 编写Plugin 2575.4.1 Compiler和Compilation 2585.4.2 事件流 2585.4.3 常用的API 2605.4.4 实战 2635.5 调试Webpack 2655.6 原理总结 268附录A 常用的Loader 268附录B 常用的Plugin 271附录C 其他Webpack学习资源 273
- 深入浅出SQL Server 2005系统管理与套用开发
- 深入浅出SQL Server资料库开发
- 深入浅出Java 2面向对象程式设计
- 深入浅出Excel VBA
- 深入浅出Java Swing程式设计
- 深入浅出Pro/ENGINEER Wildfire 4.0模具设计
- 深入浅出PHP & MySQL
- 深入浅出SQLServer2005开发·管理与套用实例
- vite和webpack的区别
- 深入浅出:嵌入式底层软体开发