描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121298998丛书名: 前端撷英馆
编辑推荐
√ React带来Virtual DOM,填平PC与移动鸿沟,前端从此迈向全端。
√ Modern F2E时代开启,ES2015 Redux Flux webpack Babel技术栈来袭。
√ 全栈明星非React莫属,工程方法、工程化工具、框架使用,尽在本书。
√ 实战整合全新语言标准、编程范式、框架组件、自动化工作流。
√ Modern F2E时代开启,ES2015 Redux Flux webpack Babel技术栈来袭。
√ 全栈明星非React莫属,工程方法、工程化工具、框架使用,尽在本书。
√ 实战整合全新语言标准、编程范式、框架组件、自动化工作流。
内容简介
本书从现代前端开发的标准、趋势和常用工具入手,由此引出了优秀的构建工具webpack 和JavaScript库React,之后用一系列的实例来阐述两者的特色、概念和基本使用方法。随着应用复杂度的增加,进而介绍了Flux 和Redux 两种架构思想,并且使用Redux 对现有程序进行改造,后介绍了在开发过程中出现的反模式和性能优化方法。
目 录
目 录
第1 章 现代前端开发 ………………………………………………………… 1
1.1 ES6——新一代的JavaScript 标准 ……………………………………………….. 1
1.1.1 语言特性 …………………………………………………………………………………….. 2
1.1.2 使用Babel …………………………………………………………………………………. 10
1.1.3 小结 ………………………………………………………………………………………….. 13
1.2 前端组件化方案 ……………………………………………………………………… 13
1.2.1 JavaScript 模块化方案 …………………………………………………………………. 14
1.2.2 前端的模块化和组件化 ……………………………………………………………….. 16
1.2.3 小结 ………………………………………………………………………………………….. 18
1.3 辅助工具 ……………………………………………………………………………….. 19
1.3.1 包管理器(Package Manager) …………………………………………………….. 19
1.3.2 任务流工具(Task Runner) ………………………………………………………… 23
1.3.3 模块打包工具(Bundler)……………………………………………………………. 26
第2 章 webpack ………………………………………………………………28
2.1 webpack 的特点与优势 …………………………………………………………….. 28
2.1.1 webpack 与RequireJS、browserify ………………………………………………… 29
2.1.2 模块规范 …………………………………………………………………………………… 30
2.1.3 非javascript 模块支持 …………………………………………………………………. 31
2.1.4 构建产物 …………………………………………………………………………………… 32
2.1.5 使用 ………………………………………………………………………………………….. 33
2.1.6 webpack 的特色 ………………………………………………………………………….. 35
2.1.7 小结 ………………………………………………………………………………………….. 38
2.2 基于webpack 进行开发 ……………………………………………………………. 38
2.2.1 安装 ………………………………………………………………………………………….. 38
2.2.2 Hello world ………………………………………………………………………………… 39
2.2.3 使用loader …………………………………………………………………………………. 43
2.2.4 配置文件 …………………………………………………………………………………… 46
2.2.5 使用plugin ………………………………………………………………………………… 48
2.2.6 实时构建 …………………………………………………………………………………… 50
第3 章 初识React ……………………………………………………………52
3.1 使用React 与传统前端开发的比较 ……………………………………………. 54
3.1.1 传统做法 …………………………………………………………………………………… 54
3.1.2 全量更新 …………………………………………………………………………………… 56
3.1.3 使用React …………………………………………………………………………………. 57
3.1.4 小结 ………………………………………………………………………………………….. 59
3.2 JSX ……………………………………………………………………………………….. 59
3.2.1 来历 ………………………………………………………………………………………….. 59
3.2.2 语法 ………………………………………………………………………………………….. 60
3.2.3 编译JSX ……………………………………………………………………………………. 63
3.2.4 小结 ………………………………………………………………………………………….. 64
3.3 React webpack 开发环境 …………………………………………………………. 64
3.3.1 安装配置Babel …………………………………………………………………………… 64
3.3.2 安装配置ESLint …………………………………………………………………………. 65
3.3.3 配置webpack ……………………………………………………………………………… 66
3.3.4 添加测试页面 …………………………………………………………………………….. 68
3.3.5 添加组件热加载(HMR)功能 …………………………………………………….. 70
3.3.6 小结 ………………………………………………………………………………………….. 71
3.4 组件 ………………………………………………………………………………………. 72
3.4.1 props 属性 ………………………………………………………………………………….. 73
3.4.2 state 状态 …………………………………………………………………………………… 76
3.4.3 组件生命周期 …………………………………………………………………………….. 78
3.4.4 组合组件 …………………………………………………………………………………… 80
3.4.5 无状态函数式组件 ………………………………………………………………………. 82
3.4.6 state 设计原则 …………………………………………………………………………….. 82
3.4.7 DOM 操作 …………………………………………………………………………………. 83
3.5 Virtual DOM …………………………………………………………………………… 85
3.5.1 DOM …………………………………………………………………………………………. 85
3.5.2 虚拟元素 …………………………………………………………………………………… 86
3.5.3 比较差异 …………………………………………………………………………………… 88
第4 章 实践React ……………………………………………………………91
4.1 开发项目 ……………………………………………………………………………….. 91
4.1.1 将原型图分割成不同组件 ……………………………………………………………. 92
4.1.2 创造每个静态组件 ………………………………………………………………………. 93
4.1.3 组合静态组件 …………………………………………………………………………….. 96
4.1.4 添加state 的结构 ………………………………………………………………………… 99
4.1.5 组件交互设计 ……………………………………………………………………………. 100
4.1.6 组合成为终版本 ……………………………………………………………………… 102
4.1.7 小结 …………………………………………………………………………………………. 105
4.2 测试 …………………………………………………………………………………….. 106
4.2.1 通用测试工具简介 ……………………………………………………………………… 106
4.2.2 React 测试工具及方法 …………………………………………………..
第1 章 现代前端开发 ………………………………………………………… 1
1.1 ES6——新一代的JavaScript 标准 ……………………………………………….. 1
1.1.1 语言特性 …………………………………………………………………………………….. 2
1.1.2 使用Babel …………………………………………………………………………………. 10
1.1.3 小结 ………………………………………………………………………………………….. 13
1.2 前端组件化方案 ……………………………………………………………………… 13
1.2.1 JavaScript 模块化方案 …………………………………………………………………. 14
1.2.2 前端的模块化和组件化 ……………………………………………………………….. 16
1.2.3 小结 ………………………………………………………………………………………….. 18
1.3 辅助工具 ……………………………………………………………………………….. 19
1.3.1 包管理器(Package Manager) …………………………………………………….. 19
1.3.2 任务流工具(Task Runner) ………………………………………………………… 23
1.3.3 模块打包工具(Bundler)……………………………………………………………. 26
第2 章 webpack ………………………………………………………………28
2.1 webpack 的特点与优势 …………………………………………………………….. 28
2.1.1 webpack 与RequireJS、browserify ………………………………………………… 29
2.1.2 模块规范 …………………………………………………………………………………… 30
2.1.3 非javascript 模块支持 …………………………………………………………………. 31
2.1.4 构建产物 …………………………………………………………………………………… 32
2.1.5 使用 ………………………………………………………………………………………….. 33
2.1.6 webpack 的特色 ………………………………………………………………………….. 35
2.1.7 小结 ………………………………………………………………………………………….. 38
2.2 基于webpack 进行开发 ……………………………………………………………. 38
2.2.1 安装 ………………………………………………………………………………………….. 38
2.2.2 Hello world ………………………………………………………………………………… 39
2.2.3 使用loader …………………………………………………………………………………. 43
2.2.4 配置文件 …………………………………………………………………………………… 46
2.2.5 使用plugin ………………………………………………………………………………… 48
2.2.6 实时构建 …………………………………………………………………………………… 50
第3 章 初识React ……………………………………………………………52
3.1 使用React 与传统前端开发的比较 ……………………………………………. 54
3.1.1 传统做法 …………………………………………………………………………………… 54
3.1.2 全量更新 …………………………………………………………………………………… 56
3.1.3 使用React …………………………………………………………………………………. 57
3.1.4 小结 ………………………………………………………………………………………….. 59
3.2 JSX ……………………………………………………………………………………….. 59
3.2.1 来历 ………………………………………………………………………………………….. 59
3.2.2 语法 ………………………………………………………………………………………….. 60
3.2.3 编译JSX ……………………………………………………………………………………. 63
3.2.4 小结 ………………………………………………………………………………………….. 64
3.3 React webpack 开发环境 …………………………………………………………. 64
3.3.1 安装配置Babel …………………………………………………………………………… 64
3.3.2 安装配置ESLint …………………………………………………………………………. 65
3.3.3 配置webpack ……………………………………………………………………………… 66
3.3.4 添加测试页面 …………………………………………………………………………….. 68
3.3.5 添加组件热加载(HMR)功能 …………………………………………………….. 70
3.3.6 小结 ………………………………………………………………………………………….. 71
3.4 组件 ………………………………………………………………………………………. 72
3.4.1 props 属性 ………………………………………………………………………………….. 73
3.4.2 state 状态 …………………………………………………………………………………… 76
3.4.3 组件生命周期 …………………………………………………………………………….. 78
3.4.4 组合组件 …………………………………………………………………………………… 80
3.4.5 无状态函数式组件 ………………………………………………………………………. 82
3.4.6 state 设计原则 …………………………………………………………………………….. 82
3.4.7 DOM 操作 …………………………………………………………………………………. 83
3.5 Virtual DOM …………………………………………………………………………… 85
3.5.1 DOM …………………………………………………………………………………………. 85
3.5.2 虚拟元素 …………………………………………………………………………………… 86
3.5.3 比较差异 …………………………………………………………………………………… 88
第4 章 实践React ……………………………………………………………91
4.1 开发项目 ……………………………………………………………………………….. 91
4.1.1 将原型图分割成不同组件 ……………………………………………………………. 92
4.1.2 创造每个静态组件 ………………………………………………………………………. 93
4.1.3 组合静态组件 …………………………………………………………………………….. 96
4.1.4 添加state 的结构 ………………………………………………………………………… 99
4.1.5 组件交互设计 ……………………………………………………………………………. 100
4.1.6 组合成为终版本 ……………………………………………………………………… 102
4.1.7 小结 …………………………………………………………………………………………. 105
4.2 测试 …………………………………………………………………………………….. 106
4.2.1 通用测试工具简介 ……………………………………………………………………… 106
4.2.2 React 测试工具及方法 …………………………………………………..
前 言
对一个前端工程师来说,这是坏的时代,也是好的时代。
在这样的领域里,每一年都不会风平浪静。如果说2014 年是属于MVVM,属于Angular 的,那么2015 年称为React 元年并不为过。开发团队的不断完善以及React社区井喷式的发展让这个诞生于2013 年的框架及其生态趋于成熟(就在不久前,React 官方宣布将在版本号0.14.7 后直接使用版本号15.0.0),大量团队在生产环境中的实践经验也让引入React 不再是一件需要瞻前顾后反复调研的事情,如果React 适合你,那么现在就可以放心地使用了。
可是对于很多还没有深入实践过React 开发的工程师来说,React 到底做了什么?React 适合什么样的场景?又应该如何投入使用?在具体业务逻辑的实现上,怎样才是的实践?这些都是需要去了解与思考的问题。
本书将从一个传统前端工程师的角度出发,介绍React 产生的背景及其架构应用,并结合一些由浅入深的例子帮助读者掌握基于React 的Web 前端开发方法。
——杨寒星
前端开发是一个充满变化的领域,它的发展速度快得惊人。各种各样的新技术、新标准层出不穷,GitHub 上火的语言是JavaScript,的包管理器是npm。新的流行框架日新月异,几年前的那些先驱者还是工程师口中津津乐道的宠儿,比如YUI、Mootools、jQuery 等,今天已经不再那么流行,曾经名噪一时的Backbone 框架,现在也渐渐褪去热度,继往开来的Angular、Vue.js、Ember 等MVVM 框架竞相登场,再加上当红的新宠React.js 大行其道,让好多工程师仿佛迷失在了大潮中。
前端开发是一个新兴的行业。几年前,被称作重构工程师的我们还都在对着Photoshop 切图,把一些jQuery 插件复制来复制去,完成一些炫酷的幻灯图特效,不断地处理着很多IE 浏览器的怪异Bug。这些功力其实到现在还能满足大部分的Web开发,完成大部分的项目。我们不妨把它称为“古典时代”,它影响深远,但是终会慢慢远去。
在当前这个潮流下,很多工程师会抛出这样的言论:
学习一些新的工具、框架有什么用?业界发展得这么快,等我学会了这些,它也许已经“寿终正寝”了。天天跟风一样地追求各种框架,学会了也是迷茫,这些框架没有用武之地。旁门左道,天天布道没有用的东西,伪前端。
随着技术的进化、移动应用的飞速发展,一个前端工程师的职责不像原来那样只要把图转换成网页那么简单。如今产生了各种类型的新名词——Hybird 应用、全端工程师、SPA 等,各有其特定的应用场景。任何框架的发明和创造都有它们一定的历史原因,只有解决了需求的痛点,才能让工程师更快地解决难题。在我们学习的过程中,可以发现它背后的思想和解决方案,进而更好地充实自己。做技术的人重要的就是保持开放的态度,有一颗好奇心,持续不断地学习。
在前端开发中占重要部分的JavaScript,也随着这些框架在慢慢进化着,原来令人不断诟病的缺点正在被标准制定者慢慢修补,新的特性不断浮出水面。前端工程师正处在发展迅速的时代,这应该是一个让人兴奋的时代,犹如工业革命一样,每个工程师都见证着一场伟大的前端革命。
本书不仅讲述了怎样使用React 和webpack 开发一些应用,而且希望通过一系列的介绍让每个工程师都能站在前端技术的潮头,拥抱变化,学习新的标准和技术,成为新技术的弄潮儿。
——张轩
本书面向的读者
本书适合有一定前端开发经验尤其是有JavaScript 基础的读者,如果你还没有接触过前端开发这个领域,请先阅读前端开发的入门书籍。
本书的代码示例
你可以在这里下载本书的代码示例:。
本书的代码执行环境
本书中默认的开发环境是 Node.js 5.0.0,书中介绍到的几个库的版本分别为、 及,其他如未特别说明的则为版本。
在这样的领域里,每一年都不会风平浪静。如果说2014 年是属于MVVM,属于Angular 的,那么2015 年称为React 元年并不为过。开发团队的不断完善以及React社区井喷式的发展让这个诞生于2013 年的框架及其生态趋于成熟(就在不久前,React 官方宣布将在版本号0.14.7 后直接使用版本号15.0.0),大量团队在生产环境中的实践经验也让引入React 不再是一件需要瞻前顾后反复调研的事情,如果React 适合你,那么现在就可以放心地使用了。
可是对于很多还没有深入实践过React 开发的工程师来说,React 到底做了什么?React 适合什么样的场景?又应该如何投入使用?在具体业务逻辑的实现上,怎样才是的实践?这些都是需要去了解与思考的问题。
本书将从一个传统前端工程师的角度出发,介绍React 产生的背景及其架构应用,并结合一些由浅入深的例子帮助读者掌握基于React 的Web 前端开发方法。
——杨寒星
前端开发是一个充满变化的领域,它的发展速度快得惊人。各种各样的新技术、新标准层出不穷,GitHub 上火的语言是JavaScript,的包管理器是npm。新的流行框架日新月异,几年前的那些先驱者还是工程师口中津津乐道的宠儿,比如YUI、Mootools、jQuery 等,今天已经不再那么流行,曾经名噪一时的Backbone 框架,现在也渐渐褪去热度,继往开来的Angular、Vue.js、Ember 等MVVM 框架竞相登场,再加上当红的新宠React.js 大行其道,让好多工程师仿佛迷失在了大潮中。
前端开发是一个新兴的行业。几年前,被称作重构工程师的我们还都在对着Photoshop 切图,把一些jQuery 插件复制来复制去,完成一些炫酷的幻灯图特效,不断地处理着很多IE 浏览器的怪异Bug。这些功力其实到现在还能满足大部分的Web开发,完成大部分的项目。我们不妨把它称为“古典时代”,它影响深远,但是终会慢慢远去。
在当前这个潮流下,很多工程师会抛出这样的言论:
学习一些新的工具、框架有什么用?业界发展得这么快,等我学会了这些,它也许已经“寿终正寝”了。天天跟风一样地追求各种框架,学会了也是迷茫,这些框架没有用武之地。旁门左道,天天布道没有用的东西,伪前端。
随着技术的进化、移动应用的飞速发展,一个前端工程师的职责不像原来那样只要把图转换成网页那么简单。如今产生了各种类型的新名词——Hybird 应用、全端工程师、SPA 等,各有其特定的应用场景。任何框架的发明和创造都有它们一定的历史原因,只有解决了需求的痛点,才能让工程师更快地解决难题。在我们学习的过程中,可以发现它背后的思想和解决方案,进而更好地充实自己。做技术的人重要的就是保持开放的态度,有一颗好奇心,持续不断地学习。
在前端开发中占重要部分的JavaScript,也随着这些框架在慢慢进化着,原来令人不断诟病的缺点正在被标准制定者慢慢修补,新的特性不断浮出水面。前端工程师正处在发展迅速的时代,这应该是一个让人兴奋的时代,犹如工业革命一样,每个工程师都见证着一场伟大的前端革命。
本书不仅讲述了怎样使用React 和webpack 开发一些应用,而且希望通过一系列的介绍让每个工程师都能站在前端技术的潮头,拥抱变化,学习新的标准和技术,成为新技术的弄潮儿。
——张轩
本书面向的读者
本书适合有一定前端开发经验尤其是有JavaScript 基础的读者,如果你还没有接触过前端开发这个领域,请先阅读前端开发的入门书籍。
本书的代码示例
你可以在这里下载本书的代码示例:。
本书的代码执行环境
本书中默认的开发环境是 Node.js 5.0.0,书中介绍到的几个库的版本分别为、 及,其他如未特别说明的则为版本。
媒体评论
在线试读
评论
还没有评论。