Compilation 对象æå¾å¤å¯ç¨çæ¹æ³åé©åã卿¤é¡µé¢ï¼æä»¬å°ä¼å举åºè¿äºå¯ç¨çæ¹æ³å屿§ã
function
è¿åå½åç¼è¯çç¶æå¯¹è±¡ã
function (module, cacheGroup)
åå½åç¼è¯æ·»å ä¸ä¸ªæ¨¡åã
åæ°ï¼
module - è¦æ·»å çæ¨¡åcacheGroup - 模åç cacheGroupfunction (module)
éè¿ç¼è¯çæ è¯ç¬¦è·åå ¶æ¨¡åã
åæ°ï¼
module - è¦è·åçæ¨¡åãæ è¯ç¬¦æ¯éè¿ç¼è¯ä½¿ç¨ module.identifier() æ¹æ³ä»æ¨¡å䏿åçãfunction (module)
å°è¯éè¿å ¶æ è¯ç¬¦æç´¢æ¨¡åã
åæ°ï¼
module - è¦æç´¢çæ¨¡åãæ è¯ç¬¦æ¯éè¿ç¼è¯ä½¿ç¨ module.identifier() æ¹æ³ä»æ¨¡å䏿åçãfunction (module, optional, origin, dependencies)
æå»ºç»å®ç模åã
åæ°ï¼
module - è¦æå»ºçæ¨¡åãoptional - å¯éæ å¿ãorigin - è¯·æ±æ¤æ¨¡åæå»ºçåå§æ¨¡åãdependencies - è¦æå»ºæ¨¡åçå¯éä¾èµãfunction (module, callback)
å¤çç»å®æ¨¡åä¾èµã
åæ°ï¼
module - è¦è¢«å¤çä¾èµç模åãcallback - 模åä¾èµå¤ç宿æ¶åè°ç彿°ãfunction (context, entry, name, callback)
为ç¼è¯æ·»å å ¥å£ã
åæ°ï¼
context - å
¥å£çä¸ä¸æè·¯å¾ãentry - å
¥å£ä¾èµãname - å
¥å£åç§°ãcallback - æ·»å å
¥å£å®æä¹ååè°ç彿°ãfunction (module, thisCallback)
è§¦åæ¨¡åçé建ã
åæ°ï¼
module - è¦è¢«éå»ºçæ¨¡åãthisCallback - 模åéå»ºå®æä¹åè°ç¨ç彿°ãfunction (callback)
宿ç¼è¯å¹¶è°ç¨ç»å®çåè°ã
åæ°ï¼
callback - ç¼è¯å®æä¹åè°ç¨ç彿°ãfunction (callback)
å°éç¼è¯ã
åæ°ï¼
callback - å°éç¼è¯æ¶åè°ç彿°ãfunction
è§£é¤å°éç¼è¯ã
åæ°ï¼
callback - è§£é¤å°éç¼è¯æ¶åè°ç彿°ãfunction (module, blocks)
å°ç»å®æ¨¡åçé误åè¦åæ·»å å°ç¼è¯çé误åè¦åä¸ã
åæ°ï¼
module - è¦è¢«æ¥åé误ä¸è¦åçæ¨¡åãblocks - ä¸ç»è¦æ¥åçä¾èµåãfunction (groupOptions, module, loc, request)
å°æ¨¡åæ·»å å°ç°æ chunk ç»æå建ä¸ä¸ªæ°çç»ãè¿åä¸ä¸ª chunkGroupã
åæ°ï¼
groupOptions - chunk ç»çé项ãmodule - å¼ç¨ chunk ç»ç模åãloc - å¼ç¨ chunk ç»çä½ç½®ï¼æ¨¡åå
é¨ï¼ãrequest - å¼ç¨ chunk ç»ç请æ±ãfunction (name)
å compilation.chunks åå»ºææ·»å ä¸ä¸ªæ°ç chunkãè¿åè¿ä¸ª chunk.
åæ°ï¼
name - chunk çåç§°ãfunction (module)
为ç»å®ç模ååå
¶ä¾èµåéå½åé
depth ã
åæ°ï¼
module - è¦è¢«åé
depth çæ¨¡åãfunction (module, dependency)
è¿åç»å®æ¨¡å对ä¾èµçå¼ç¨ã
åæ°ï¼
module - æé®é¢ç模åãdependency - è¦å¼ç¨çä¾èµãfunction (inputChunkGroups)
éè¿ Module å¾å建 Chunk å¾ã该è¿ç¨åä¸ºä¸¤ä¸ªé¶æ®µå®æãé¶æ®µä¸ï¼é忍¡åå¾ï¼å¨ chunkDependencies ä¸å建ä¸ä¸ªåºç¡ chunk å¾ãé¶æ®µäºï¼éè¿åºæ¬ chunk å¾éåææå¯è½çæ¹æ³å¹¶ä¸è·è¸ªå¯ç¨æ¨¡åãéåè¿ç¨ä¸ processDependenciesBlocksForChunkGroups å° chunk ç¸äºè¿æ¥ï¼å¹¶å° Blocks ä¸ Chunks è¿æ¥. å½ä¸ä¸ª chunk çæææ¨¡åé½å·²ç»å¯ç¨ä¸æªè¿æ¥ä¸éè¦ç chunk æ¶ï¼å®å°åæ¢éåã
åæ°ï¼
inputChunkGroups - 被å¤çç chunk ç»ãfunction (module, block)
ç§»é¤æ¨¡åä¸ä¾èµåä¹é´çå ³ç³»ã
åæ°ï¼
module - è¦ç§»é¤ç模åå
³ç³»ãblock - ä¾èµåãfunction (module, chunk)
å é¤ä¾èµæ§åå åï¼ä¿®è¡¥æ¨¡åå chunk çå
³ç³»ã被 removeReasonsOfDependencyBlock èªå¨è°ç¨ã
åæ°ï¼
module - è¦ä¿®å¤å
³ç³»ç模åãchunk - è¦ä¿®å¤å
³ç³»ç chunkãfunction (block, chunk)
å¨é¤å»ä¾èµæ§åå åï¼ä»ä¾èµå模åå chunk ä¸ç§»é¤ç»å®ç chunkãä¼è¢« removeReasonsOfDependencyBlock èªå¨è°ç¨ã
åæ°ï¼
block - Chunk çåè¿æ¥ãchunk - ä»ä¾èµä¸å é¤çåãfunction
function
function
function
function
function (filename, data)
è¿åæå¼è·¯å¾ã
åæ°ï¼
filename - ç¨äºéè¿åå¸è·åèµæºè·¯å¾ãdata - æ°æ®å¯¹è±¡ãfunction (filename, data)
è¿åæå¼è·¯å¾åèµæºä¿¡æ¯ã
åæ°ï¼
filename - ç¨äºéè¿åå¸è·åèµæºè·¯å¾ãdata - æ°æ®å¯¹è±¡ãfunction (name, outputOptions, plugins)
å
è®¸å¨ webpack ä¸è¿è¡å¦ä¸ä¸ª webpack å®ä¾ã使¯ï¼åç¼è¯å¨ä¼åºç¨ä¸åç设置åé
ç½®ãä»ä¼ä»ç¶ç¼è¯å¨ï¼æè
顶级ç¼è¯å¨ï¼ä¸å¤å¶ææçé©å(hook)åæä»¶(plugin)ï¼å¹¶ä¸å建ä¸ä¸ªå Compiler å®ä¾ã è¿åå¼ä¸ºå建好ç Compiler å®ä¾ã
åæ°ï¼
name - å Compiler çåç§°ãoutputOptions - è¾åºé项ãplugins - å°è¢«æä¾ç webpack æä»¶ãfunction
function (file, source, assetInfo = {})
åæ°ï¼
file - èµæºåç§°ãsource - èµæºæ¥æºãassetInfo - éå èµæºä¿¡æ¯ãfunction (file, newSourceOrFunction, assetInfoUpdateOrFunction)
åæ°ï¼
file - èµæºåç§°ãnewSourceOrFunction - æ°èµæºæ¥æºæå°æ§èµæºè½¬æ¢ä¸ºæ°èµæºç彿°ãassetInfoUpdateOrFunction - æ°èµæºä¿¡æ¯æå°æ§èµæºè½¬æ¢ä¸ºæ°èµæºç彿°ãfunction (file)
åæ°ï¼
file ââ èµæºçæä»¶åfunction
è¿åå½åç¼è¯ä¸ææèµæºçæ°ç»ã
function (name)
åæ°ï¼
name - è¦è¿åçèµæºåç§°ã