欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

webpack原理解析?

1.webpack核心概念:

entry:一個(gè)可執(zhí)行模塊或庫(kù)的入口文件。

chunk:多個(gè)文件組成的一個(gè)代碼塊,例如把一個(gè)可執(zhí)行模塊和它所有依賴的模塊組合和一個(gè)chunk這體現(xiàn)了webpack的打包機(jī)制。

loader:文件轉(zhuǎn)換器,例如把es6轉(zhuǎn)換為es5,scss轉(zhuǎn)換為css。

plugin:插件,用于擴(kuò)展webpack的功能,在webpack構(gòu)建生命周期的節(jié)點(diǎn)上加入擴(kuò)展hook為webpack加入功能。

2.webpack構(gòu)建流程(原理):

從啟動(dòng)webpack構(gòu)建到輸出結(jié)果經(jīng)歷了一系列過(guò)程,它們是:

2.1解析webpack配置參數(shù),合并從shell傳入和webpack.config.js文件里配置的參數(shù),生產(chǎn)最后的配置結(jié)果。

2.2注冊(cè)所有配置的插件,好讓插件監(jiān)聽(tīng)webpack構(gòu)建生命周期的事件節(jié)點(diǎn),以做出對(duì)應(yīng)的反應(yīng)。

2.3從配置的entry入口文件開(kāi)始解析文件構(gòu)建AST語(yǔ)法樹(shù),找出每個(gè)文件所依賴的文件,遞歸下去。

2.4在解析文件遞歸的過(guò)程中根據(jù)文件類型和loader配置找出合適的loader用來(lái)對(duì)文件進(jìn)行轉(zhuǎn)換。

2.5遞歸完后得到每個(gè)文件的最終結(jié)果,根據(jù)entry配置生成代碼塊chunk。

2.6輸出所有chunk到文件系統(tǒng)。