摘要:函數在返回值對象時,多一個標識符自增數字給每個文件添加對象用來保存自己所依賴的文件對象,方便使用時找到函數。構建字符串時,是和做。用到方法來進行相對路徑和的轉換。方法多了處理文件的能力代碼見參考資料
思路圖解 思路:
找出入口文件所有的依賴關系
讀取并編譯入口文件代碼
依據入口文件代碼廣度遍歷所有依賴文件(包括子級)
對外輸出依賴關系
通過構建CommonJS代碼來獲取exports導出的內容
構建modules對象字符串(key為文件id, 值為[對應的函數, mapping])
構建result函數字符串,并傳入modules參數,函數中構建require函數,用于獲取并執行對應文件
執行require(entry), 即執行對應的文件
有哪些功能點
讀取并編譯文件代碼
獲取所有依賴文件
實現打包功能(構建出CommonJS的寫法)
缺點:
是用relativePath做文件模塊的唯一標識,容易沖突
與A方法大體思路一致。
區別
createCode函數 -》createAsset函數。 createAsset函數在返回值對象時,多一個標識符id(自增數字)
getDependencies -》 createGraph, 給每個文件item添加mapping對象用來保存自己所依賴的文件path:id對象,方便使用時找到id
bundle函數。構建modules字符串時,是 id和[function, mapping]做key, value。構建result字符串時,require函數,接收的是filepath對應的id. 有localRequire函數
綜上所述:
主要區別是此方法使用自增的id作為文件模塊的唯一標識(不會重復)而不是文件相對路徑(容易重復),
但是這也導致代碼有更大復雜性,比如模塊自身需記錄mapping(來記住依賴文件相對路徑和其id的對應關系)。用到localRequire方法來進行相對路徑和id的轉換。
A方法多了處理css文件的能力
代碼:見github https://github.com/sunchengua...
參考資料https://juejin.im/book/5bdc71...
https://zhuanlan.zhihu.com/p/...
https://zhuanlan.zhihu.com/p/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104260.html
摘要:該文章用于概述一個小型持續集成環境的搭建的方案什么是持續集成持續集成作為當今軟件開發實踐,可以簡單理解為團隊開發相對頻繁的集成他們的工作,一般讓每個成員每天至少集成一次,而這回造成每天會有多次的版本發布。 該文章用于概述一個小型持續集成環境的搭建的方案 什么是持續集成? 持續集成作為當今軟件開發實踐,可以簡單理解為團隊開發相對頻繁的集成他們的工作,一般讓每個成員每天至少集成一次,而這回...
摘要:大概過來一個多月,我決定兩路開工。使用給前端寫接口,配備后臺管理功能,先把后臺搭建好。大概幾天過后,后臺一些簡單的功能實現后,就開始用開始搭建前臺,也一直在想做點什么比較好,于是就做了個豆瓣評分類似的項目。 寫在前面 由于最近公司業務不是很忙,空閑時間比較多,于是就在糾結Vue.js(之前就學習過)和Node.js先專研哪個比較好,最終選擇了先玩玩Node.js。經過一段時間的學習,就...
摘要:自動化測試和持續集成發布。在服務型環境中部署和調整數據庫或其他的后臺應用。容器與鏡像的關系類似于面向對象編程中的對象與類。容器容器是獨立運行的一個或一組應用。提供了龐大的鏡像集合供使用。 還在按照mysql安裝教程一步一步配置服務配置賬戶嗎?還在為每開一個新環境重新配置這些服務感到苦惱嗎?使用Docker,服務快速構建部署。解決你的研發時間,早點下班~現代技術,還不會docker你就落...
摘要:總所周知,因庫多,語法優雅,深受開發者的喜愛。于我來說,寫一些小型程序,在不需要考慮太多問題的時候,無疑是我的第一選擇。當一切都配置好后,使用打包相應腳本有兩種方法。 總所周知,python因庫多,語法優雅,深受開發者的喜愛。 于我來說,寫一些小型程序,在不需要考慮太多問題的時候,python無疑是我的第一選擇。而有的時候,雖然是小型程序,但我還是需要他們通用,即使不考慮使他跨平臺...
摘要:現在開始從頭搭建我們的微前端架構。項目源碼微前端項目微前端微前端項目 1. 微前端 ????????基于spa類的單頁應用,隨著企業工程項目的體積越來越大,開發的功能越來越多,頁面也越來越多,項目隨之也變得越來越臃腫,維護起來十分困難,往往改一個logo,或者改一個小樣式,都要將項目全部重新打包一遍,維護困難,部署也困難。 ????????因此前端在借鑒后端的微服務架構模式后,衍生了...
閱讀 2305·2021-09-28 09:45
閱讀 3596·2021-09-24 09:48
閱讀 2256·2021-09-22 15:49
閱讀 3093·2021-09-08 16:10
閱讀 1586·2019-08-30 15:54
閱讀 2317·2019-08-30 15:53
閱讀 3012·2019-08-29 18:42
閱讀 2865·2019-08-29 16:19