前端跨界開(kāi)發(fā)指南:Javascript工具庫(kù)原理解析與實(shí)戰(zhàn)
定 價(jià):129 元
叢書(shū)名:Web開(kāi)發(fā)技術(shù)叢書(shū)
- 作者:史文強(qiáng) 著
- 出版時(shí)間:2022/7/1
- ISBN:9787111708049
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:412
- 紙張:
- 版次:
- 開(kāi)本:16
本書(shū)是字節(jié)跳動(dòng)資深前端工程師嘔心瀝血之作,也是目前市場(chǎng)上少有的從原理到實(shí)戰(zhàn)深度剖析JavaScript生態(tài)中經(jīng)典工具庫(kù)的技術(shù)圖書(shū)。全書(shū)共有6篇,分別是基礎(chǔ)篇、圖形學(xué)篇、多媒體篇、跨端開(kāi)發(fā)篇、游戲開(kāi)發(fā)篇和跨界實(shí)踐篇,書(shū)中不僅詳細(xì)介紹了JavaScript語(yǔ)言在瀏覽器頁(yè)面之外的不同應(yīng)用場(chǎng)景,更從實(shí)用技巧、設(shè)計(jì)理念、原理源碼等角度對(duì)精心挑選的30多個(gè)工具庫(kù)進(jìn)行了全方位的解析,希望讀者在領(lǐng)略JavaScript代碼之美的同時(shí),也能拓寬技術(shù)視野。為了幫助讀者更好地理解書(shū)中所講述的內(nèi)容,隨書(shū)代碼倉(cāng)庫(kù)里提供了大量可運(yùn)行的源碼,包括精簡(jiǎn)版的庫(kù)重寫(xiě)和完整的代碼示例。
前言
基礎(chǔ)篇
第1章 Mock.js:如何與后端瀟灑分手2
1.1 為什么你總是下不了班3
1.2 聯(lián)調(diào)加速4
1.3 使用Mock.js4
1.3.1 Mock.js的語(yǔ)法規(guī)范5
1.3.2 Mock.js實(shí)戰(zhàn)6
1.3.3 自定義擴(kuò)展8
1.4 Mock.js的基本原理9
1.4.1 從模板到數(shù)據(jù)9
1.4.2 為Ajax請(qǐng)求提供Mock數(shù)據(jù)11
1.5 從Mock服務(wù)到API管理平臺(tái)14
第2章 Node.js:連接16
2.1 大話Node.js16
2.1.1 Node.js是什么16
2.1.2 Node.js能做什么17
2.1.3 招黑的JavaScript全棧工程師19
2.2 業(yè)界用Node.js做什么19
2.2.1 前端工程化20
2.2.2 中間層20
2.2.3 SSR引擎21
2.2.4 協(xié)作連接22
2.3 小結(jié)22
第3章 ESLint:你的代碼里藏著你的優(yōu)雅24
3.1 代碼風(fēng)格與破窗理論25
3.2 用editorconfig配置IDE28
3.2.1 基本語(yǔ)法及屬性29
3.2.2 配置實(shí)例29
3.3 使用ESLint規(guī)范編程風(fēng)格30
3.3.1 配置文件和規(guī)則集30
3.3.2 ESLint插件開(kāi)發(fā)實(shí)戰(zhàn)32
3.3.3 初學(xué)者的修行32
3.4 新秀工具Prettier33
3.5 靜態(tài)類型檢查工具的實(shí)現(xiàn)原理34
3.5.1 編譯語(yǔ)言和解釋語(yǔ)言34
3.5.2 編譯流程34
3.5.3 編譯簡(jiǎn)單的JavaScript程序35
第4章 模塊演義與Require.js39
4.1 模塊化的需求推演40
4.1.1 script標(biāo)簽40
4.1.2 代碼隔離41
4.1.3 依賴管理42
4.2 模塊規(guī)范大雜燴43
4.2.1 概述43
4.2.2 幾個(gè)重要的差異44
4.3 模塊化規(guī)范的兼容與工具演進(jìn)48
4.4 Require.js的使用方法50
4.5 Require.js的核心原理52
第5章 Lodash.js是工具,更是秘籍55
5.1 Lodash.js是什么55
5.1.1 概述56
5.1.2 代碼的較量56
5.2 重點(diǎn)API的剖析59
5.3 Lodash.js的源碼結(jié)構(gòu)62
5.3.1 基本結(jié)構(gòu)62
5.3.2 Lodash.js源碼的學(xué)習(xí)方法63
第6章 靜態(tài)類型檢查:Flow.js和TypeScript64
6.1 靜態(tài)類型檢查65
6.1.1 靜態(tài)類型檢查的優(yōu)勢(shì)65
6.1.2 靜態(tài)類型檢查的劣勢(shì)66
6.2 Flow.js,易上手的靜態(tài)類型檢查工具67
6.2.1 Flow.js中的類型標(biāo)注67
6.2.2 Flow.js的優(yōu)勢(shì)68
6.3 TypeScript,另一種選擇69
第7章 用函數(shù)描述世界:Ramda.js71
7.1 本能的思考方式71
7.2 開(kāi)始編碼72
7.2.1 傳統(tǒng)編程的實(shí)現(xiàn)72
7.2.2 函數(shù)式編程的推演73
7.2.3 函數(shù)式編程的意義76
7.2.4 函數(shù)式編程的基本理論77
7.3 基于Ramda.js體驗(yàn)函數(shù)式編程79
7.3.1 使用Ramda.js80
7.3.2 函數(shù)化的流程控制81
7.4 選擇82
第8章 Rxjs:前端世界的“老人與!83
8.1 信息管道84
8.1.1 不同的“單一職責(zé)”84
8.1.2 分布式狀態(tài)的可能性86
8.1.3 你的程序在做什么87
8.2 數(shù)據(jù)的生產(chǎn)88
8.2.1 數(shù)據(jù)源的抽象88
8.2.2 設(shè)計(jì)模式的應(yīng)用90
8.3 Rxjs:一切皆是流的世界91
8.3.1 Rxjs的核心概念92
8.3.2 Rxjs應(yīng)用實(shí)例94
8.3.3 新版“老人與!100
8.4 以自己喜歡的方式去編程101
第9章 不可變數(shù)據(jù)的制造藝術(shù):Immer.js和Immutable.js102
9.1 克隆103
9.1.1 淺克隆103
9.1.2 深克隆103
9.2 元編程與Immer.js104
9.2.1 元編程105
9.2.2 Immer.js的核心原理106
9.3 Immutable.js與共享結(jié)構(gòu)112
9.3.1 Immutable.js簡(jiǎn)介113
9.3.2 Immutable.js的核心原理113
9.3.3 Immutable.js中的讀寫(xiě)操作117
9.4 小結(jié)119
第10章 Day.js:算個(gè)日期能有多難121
10.1 日期和時(shí)間121
10.2 使用Day.js125
10.3 國(guó)際化應(yīng)用開(kāi)發(fā)中的時(shí)間處理127
圖形學(xué)篇
第11章 所見(jiàn)即所得的流程圖:jsplumb.js和viz.js130
11.1 方案構(gòu)思130
11.2 開(kāi)始使用jsplumb.js132
11.3 圖布局引擎viz.js135
11.4 所見(jiàn)即所得137
第12章 easel.js:一個(gè)標(biāo)簽一個(gè)世界139
12.1 能玩一生的標(biāo)簽