為您推薦
類似書籍推薦給您
【簡介】 如下。 第一部分 前端專案化管理工具(01~05) 以npm 和Yarn 套件管理工具切入專案化主題,透過Webpack 和Vite 建構工具加深讀者對專案化的理解。事實上,工具的背後是原理,因此我不會枯燥地列舉某個工具的優缺點和基本使用方式,而是會深入介紹幾個極具代表性的工具的技術原理和演變過程。只有吃透這些內容,才能真正理解專案化架構。希望透過這一部分,讀者能夠意識到如何追根究底地學習,如何像一名架構師一樣思考。 第二部分 現代化前端開發和架構生態(06~16) 這部分將一網打盡大部分開發者每天都會接觸卻很少真正理解的基礎知識。希望透過第二部分,讀者能夠真正意識到,Webpack 工程師的職責並不是寫寫設定檔那麼簡單,Babel 生態系統也不是使用AST 技術玩轉編譯原理而已。這部分內容能夠幫助讀者培養前端專案化基礎建設思想,這也是設計一個公共函式庫、主導一項技術方案的基礎知識。 第三部分 核心框架原理與程式設計模式(17~22) 在這一部分中,我們將一起來探索經典程式的奧秘,體會設計模式和資料結構的藝術,請讀者結合業務實踐,思考優秀的設計思想如何在工作中實作。同時,我們會針對目前前端社區所流行的框架進行剖析,相信透過不斷學習經典思想和剖析原始程式內容,各位讀者都能有新的收穫。 第四部分 前端架構設計實戰(23~26) 在這一部分中,我會一步一步帶領大家從0 到1 實現一個完整的應用專案或公共函式庫。這些專案實踐並不是社區上氾濫的Todo MVC,而是代表先進設計理念的現代化專案架構專案(比如設計實現前端+ 行動端離線套件方案)。同時在這一部分中,我也會對編譯和建構、部署和發布這些熱門話題進行重點介紹。 第五部分 前端全鏈路——Node.js 全端開發(27~30) 在這一部分中,我們以實戰的方式靈活運用並實踐Node.js。這一部分不會講解Node.js 的基礎內容,讀者需要先儲備相關知識。我們的重點會放在Node.js 的應用和發展上,比如我會帶大家設計並完成一個真正意義上的企業級閘道,其中涉及網路知識、Node.js 理論知識、許可權和代理知識等。再比如,我會帶大家研究並實現一個完善可靠的Node.js 服務系統,它可能涉及非同步訊息佇列、資料儲存,以及微服務等傳統後端知識,讓讀者能夠真正在團隊專案中實作Node.js 技術,不斷開疆擴土。 總之,這本書內容很多,好料滿滿。 客觀來說,我絕不相信一本「武功秘笈」就能讓一個人一路打怪升級,一步登天。我更想讓這本書成為一個促成你我交流的機會,在輸出自己經驗累積的同時,我希望它能幫助到每一個人。你準備好了嗎?來和我一起,像架構師一樣思考吧! 致謝 本書初稿結束於壬寅年春季的最後一個節氣——穀雨。穀雨意為「雨生百殼」,田中的秧苗初插、作物新種,只有得到雨水的充分滋潤,穀類作物才能茁壯成長。 一本書的問世,自然也少不了養料和雨露的澆灌。為此,我想特別感謝一路支持和鼓勵我的家人及好友—— 一醬、顏海鏡等。感謝他們的陪伴,以及為我提供的素材和修改建議。我還要感謝電子工業出版社的孫奇俏編輯,這已不是我們第一次合作,她的專業能力始終讓我欽佩,這種認真負責的態度,始終是我創作的勇氣源泉和力量後盾。 在這個時間節點,我們仍然面臨著疫情的嚴峻挑戰,國際時局也風雲變幻。一本書的問世,自然不能實現世界和平的美好願景,但希望它能幫助每一位讀者找到內心的一片靜土,感受到學習進步帶給我們的力量! 侯策 【目錄】 ▌第一部分 前端專案化管理工具 第1 章 安裝機制及企業級部署私服原理 npm 內部機制與核心原理 npm 不完全指南 npm 多來源鏡像和企業級部署私服原理 總結 第2 章 Yarn 安裝理念及相依管理困境破解 Yarn 的安裝機制和背後思想 破解相依管理困境 總結 第3 章 CI 環境下的npm 最佳化及專案化問題解析 CI 環境下的npm 最佳化 更多專案化相關問題解析 最佳實作建議 總結 第4 章 主流建構工具的設計考量 從Tooling.Report 中,我們能學到什麼 總結 第5 章 Vite 實現:原始程式分析與專案建構 Vite 的「從天而降」 Vite 實現原理解讀 總結 ▌第二部分 現代化前端開發和架構生態 第6 章 談談core-js 及polyfill 理念 core-js 專案一覽 如何重複使用一個polyfill 尋找最佳的polyfill 方案 總結 第7 章 整理混亂的Babel,拒絕編譯顯示出錯 Babel 是什麼 Babel Monorepo 架構套件解析 Babel 專案生態架構設計和分層理念 總結 第8 章 前端工具鏈:統一標準化的babel-preset 從公共函式庫處理的問題,談如何做好「掃雷人」 應用專案建構和公共函式庫建構的差異 一個企業級公共函式庫的設計原則 制定一個統一標準化的babel-preset 總結 第9 章 從0 到1 建構一個符合標準的公共函式庫 實戰打造一個公共函式庫 打造公共函式庫,支援script 標籤引入程式 打造公共函式庫,支援Node.js 環境 從開放原始碼函式庫總結生態設計 總結 第10 章 程式拆分與隨選載入 程式拆分與隨選載入的應用場景 程式拆分與隨選載入技術的實現 Webpack 賦能程式拆分和隨選載入 總結 第11 章 Tree Shaking:移除JavaScript 上下文中的未引用程式 Tree Shaking 必會理論 前端專案化生態和Tree Shaking 實踐 總結 第12 章 理解AST 實現和編譯原理 AST 基礎知識 AST 實戰:實現一個簡易Tree Shaking 指令稿 總結 第13 章 專案化思維:主題切換架構 設計一個主題切換專案架構 主題色切換架構實現 總結 第14 章 解析Webpack 原始程式,實現工具建構 Webpack 的初心和奧秘 手動實現打包器 總結 第15 章 跨端解析小程式多端方案 小程式多端方案概覽 小程式多端——編譯時方案 小程式多端——執行時期方案 小程式多端——類React 風格的編譯時和執行時期結合方案 小程式多端方案的最佳化 總結 第16 章 從行動端跨平臺到Flutter 的技術變革 行動端跨平臺技術原理和變遷 Flutter 新貴背後的技術變革 總結 ▌第三部分 核心框架原理與程式設計模式 第17 章 axios:封裝一個結構清晰的Fetch 函式庫 設計請求函式庫需要考慮哪些問題 axios 設計之美 總結 第18 章 對比Koa 和Redux:解析前端中介軟體 以Koa 為代表的Node.js 中介軟體設計 對比Express,再談Koa 中介軟體 Redux 中介軟體設計和實現 利用中介軟體思想,實現一個中介軟體化的Fetch 函式庫 總結 第19 章 軟體開發的靈活性和訂製性 設計模式 函式思想 總結 第20 章 理解前端中的物件導向思想 實現new 沒有那麼容易 如何優雅地實現繼承 jQuery 中的物件導向思想 類別繼承和原型繼承的區別 總結 第21 章 利用JavaScript 實現經典資料結構 資料結構簡介 堆疊和佇列 鏈結串列(單向鏈結串列和雙向鏈結串列) 樹 圖 總結 第22 章 剖析前端資料結構的應用場景 堆疊和佇列的應用 鏈結串列的應用 樹的應用 總結 ▌第四部分 前端架構設計實戰 第23 章 npm scripts:打造一體化建構和部署流程 npm scripts 是什麼 npm scripts 原理 npm scripts 使用技巧 打造一個lucas-scripts 總結 第24 章 自動化程式檢查:剖析Lint 工具 自動化Lint 工具 lucas-scripts 中的Lint 設定最佳實踐 工具背後的技術原理和設計 總結 第25 章 前端+ 行動端離線套件方案設計 從流程圖型分析Hybrid 性能痛點 相應最佳化策略 離線套件方案的設計流程 離線套件方案持續最佳化 總結 第26 章 設計一個「萬能」的專案鷹架 命令列工具的原理和實現 從命令列工具到萬能鷹架 總結 ▌第五部分 前端全鏈路——Node.js 全端開發 第27 章 同構著色架構:實現SSR 應用 實現一個簡易的SSR 應用 SSR 應用中容易忽略的細節 總結 第28 章 性能守衛系統設計:完善CI/CD 流程 性能守衛理論基礎 Lighthouse 原理介紹 性能守衛系統Perf-patronus 總結 第29 章 打造閘道:改造企業級BFF 方案 BFF 閘道定義及優缺點整理 打造BFF 閘道需要考慮的問題 實現一個lucas-gateway 總結 第30 章 實現高可用:Puppeteer 實戰 Puppeteer 簡介和原理 Puppeteer 在SSR 中的應用 Puppeteer 在UI 測試中的應用 Puppeteer 結合Lighthouse 的應用場景 透過Puppeteer 實現海報Node.js 服務 總結
類似書籍推薦給您
【簡介】 *從「匠」到「師」的必經之路,前端產業技術快速昇華到架構師 *前端專案化管理工具,Webpack、Vite、npm、yarn。 *前端開發架構生態,AST、Babel生態 *核心框架原理及設計模式、深入了解各種node.js圍繞的框架:Vue、React *實戰設計前端架構,如行動端離線套件、編譯和建構、部署和發佈 *前端全鏈路,完整Node.js生態開發實戰 本書包括五個部分,涵蓋30個主題。 第一部分首先就是以npm和Yarn套件管理工具切入專案化主題,透過Webpack和Vite建構工具加深讀者對專案化的理解。深入介紹幾個極具代表性的工具的技術原理和演變過程。 第二部分為現代前端開發架構生態,幫助讀者培養前端專案化基礎建設思想,這也是設計一個公共函式庫、主導一項技術方案的基礎知識。 第三部分為核心框架原理及設計模式,探索經典程式的奧秘,體會設計模式和資料結構的藝術,帶領讀者結合業務實踐,思考優秀的設計思想如何在工作中實作。 第四部分是前端架構設計實戰在這一部分中,我會一步一步帶領大家從0到1實現一個完整的應用專案或公共函式庫。這些專案實踐並不是社區上氾濫的Todo MVC,而是代表先進設計理念的現代化專案架構專案(比如設計實現前端+行動端離線套件方案)。 第五部分前端全鏈路Node.js全端開發,帶大家設計並完成一個真正意義上的企業級閘道,其中涉及網路知識、Node.js 理論知識、許可權和代理知識等。帶大家研究並實現一個完善可靠的Node.js服務系統,涉及非同步訊息佇列、資料儲存,以及微服務等傳統後端知識。 【目錄】 第一部分 前端專案化管理工具 第1 章 安裝機制及企業級部署私服原理 npm 內部機制與核心原理 npm 不完全指南 npm 多來源鏡像和企業級部署私服原理 總結 第2 章 Yarn 安裝理念及相依管理困境破解 Yarn 的安裝機制和背後思想 破解相依管理困境 總結 第3 章 CI 環境下的npm 最佳化及專案化問題解析 CI 環境下的npm 最佳化 更多專案化相關問題解析 最佳實作建議 總結 第4 章 主流建構工具的設計考量 從Tooling.Report 中,我們能學到什麼 總結 第5 章 Vite 實現:原始程式分析與專案建構 Vite 的「從天而降」 Vite 實現原理解讀 總結 第二部分 現代化前端開發和架構生態 第6 章 談談core-js 及polyfill 理念 core-js 專案一覽 如何重複使用一個polyfill 尋找最佳的polyfill 方案 總結 第7 章 整理混亂的Babel,拒絕編譯顯示出錯 Babel 是什麼 Babel Monorepo 架構套件解析 Babel 專案生態架構設計和分層理念 總結 第8 章 前端工具鏈:統一標準化的babel-preset 從公共函式庫處理的問題,談如何做好「掃雷人」 應用專案建構和公共函式庫建構的差異 一個企業級公共函式庫的設計原則 制定一個統一標準化的babel-preset 總結 第9 章 從0 到1 建構一個符合標準的公共函式庫 實戰打造一個公共函式庫 打造公共函式庫,支援script 標籤引入程式 打造公共函式庫,支援Node.js 環境 從開放原始碼函式庫總結生態設計 總結 第10 章 程式拆分與隨選載入 程式拆分與隨選載入的應用場景 程式拆分與隨選載入技術的實現 Webpack 賦能程式拆分和隨選載入 總結 第11 章 Tree Shaking:移除JavaScript 上下文中的未引用程式 Tree Shaking 必會理論 前端專案化生態和Tree Shaking 實踐 總結 第12 章 理解AST 實現和編譯原理 AST 基礎知識 AST 實戰:實現一個簡易Tree Shaking 指令稿 總結 第13 章 專案化思維:主題切換架構 設計一個主題切換專案架構 主題色切換架構實現 總結 第14 章 解析Webpack 原始程式,實現工具建構 Webpack 的初心和奧秘 手動實現打包器 總結 第15 章 跨端解析小程式多端方案 小程式多端方案概覽 小程式多端——編譯時方案 小程式多端——執行時期方案 小程式多端——類React 風格的編譯時和執行時期結合方案 小程式多端方案的最佳化 總結 第16 章 從行動端跨平臺到Flutter 的技術變革 行動端跨平臺技術原理和變遷 Flutter 新貴背後的技術變革 總結 第三部分 核心框架原理與程式設計模式 第17 章 axios:封裝一個結構清晰的Fetch 函式庫 設計請求函式庫需要考慮哪些問題 axios 設計之美 總結 第18 章 對比Koa 和Redux:解析前端中介軟體 以Koa 為代表的Node.js 中介軟體設計 對比Express,再談Koa 中介軟體 Redux 中介軟體設計和實現 利用中介軟體思想,實現一個中介軟體化的Fetch 函式庫 總結 第19 章 軟體開發的靈活性和訂製性 設計模式 函式思想 總結 第20 章 理解前端中的物件導向思想 實現new 沒有那麼容易 如何優雅地實現繼承 jQuery 中的物件導向思想 類別繼承和原型繼承的區別 總結 第21 章 利用JavaScript 實現經典資料結構 資料結構簡介 堆疊和佇列 鏈結串列(單向鏈結串列和雙向鏈結串列) 樹 圖 總結 第22 章 剖析前端資料結構的應用場景 堆疊和佇列的應用 鏈結串列的應用 樹的應用 總結 第四部分 前端架構設計實戰 第23 章 npm scripts:打造一體化建構和部署流程 npm scripts 是什麼 npm scripts 原理 npm scripts 使用技巧 打造一個lucas-scripts 總結 第24 章 自動化程式檢查:剖析Lint 工具 自動化Lint 工具 lucas-scripts 中的Lint 設定最佳實踐 工具背後的技術原理和設計 總結 第25 章 前端+ 行動端離線套件方案設計 從流程圖型分析Hybrid 性能痛點 相應最佳化策略 離線套件方案的設計流程 離線套件方案持續最佳化 總結 第26 章 設計一個「萬能」的專案鷹架 命令列工具的原理和實現 從命令列工具到萬能鷹架 總結 第五部分 前端全鏈路——Node.js 全端開發 第27 章 同構著色架構:實現SSR 應用 實現一個簡易的SSR 應用 SSR 應用中容易忽略的細節 總結 第28 章 性能守衛系統設計:完善CI/CD 流程 性能守衛理論基礎 Lighthouse 原理介紹 性能守衛系統Perf-patronus 總結 第29 章 打造閘道:改造企業級BFF 方案 BFF 閘道定義及優缺點整理 打造BFF 閘道需要考慮的問題 實現一個lucas-gateway 總結 第30 章 實現高可用:Puppeteer 實戰 Puppeteer 簡介和原理 Puppeteer 在SSR 中的應用 Puppeteer 在UI 測試中的應用 Puppeteer 結合Lighthouse 的應用場景 透過Puppeteer 實現海報Node.js 服務 總結
資訊
工程
數學與統計學
機率與統計
自然科學
健康科學
地球與環境
建築、設計與藝術
人文與社會科學
教育
語言學習與考試
法律
會計與財務
大眾傳播
觀光與休閒餐旅
考試用書
研究方法
商業與管理
經濟學
心理學
生活
生活風格商品
參考書/測驗卷/輔材