首頁 >web前端 >js教程 >如何理解webpack中loader和plugin

如何理解webpack中loader和plugin

一个新手
一个新手原創
2017-09-27 10:32:332045瀏覽

webpack中loader和plugin這兩個概念很容易為初學者混淆,在這裡,我簡單談談自己的理解。

對於loader,它就是一個轉換器,將A文件進行編譯形成B文件,這裡操作的是文件,例如將A.scss或A.less轉變為B.css ,單純的檔案轉換過程;

對於plugin,它就是一個擴展器,它豐富了wepack本身,針對是webpack打包的整個過程,它並不直接操作文件,而是是基於事件機制工作,會監聽webpack打包過程中的某些節點,例如

  • run:开始编译
    make:从entry开始递归分析依赖并对依赖进行build
    build-moodule:使用loader加载文件并build模块
    normal-module-loader:对loader加载的文件用acorn编译,生成抽象语法树AST
    program:开始对AST进行遍历,当遇到require时触发call
    require:事件
    seal:所有依赖build完成,开始对chunk进行优化(抽取公共模块、加hash等)
    optimize-chunk-assets:压缩代码
    emit:把各个chunk输出到结果文件

透過對節點的監聽,從而找到合適的節點對檔案做適當的處理。

#

以上是如何理解webpack中loader和plugin的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn