webpack中的 loaders, plugins, mode

    本文主要介紹webpack中的loaders, plugins, mode。

1. loaders   

    webpack原生只支持js和json類型,但可以通過loaders支持其它文件類型。

    常見的loader總結:

名稱 描述
babel-loader 轉換ES6, ES7等js新特性語法
css-loader 支持.css文件的加載和解析
less-loader 將less文件轉換成css
ts-loader 將ts轉換成js
file-loader 圖片、字體等的打包
raw-loader 將文件以字符串的形式導入
thread-loader 多進程打包js和css

2. plugins   

    plugins作用於整個構建過程,用於文件的優化,資源管理和環境變量的注入等。

    常見的plugins總結:

名稱 描述

CommonsChunkPlugin

將chunks相同的模塊代碼提取成公共js
CleanWebpackPlugin 清理構建目錄
ExtractTextWebpackPlugin 將css從bundle文件中提取成一個獨立的css文件
CopyWebpackPlugin 將文件或者文件夾拷貝到輸出目錄
HtmlWebpackPlugin 創建html文件承載輸出的bundle
UglifyjsWebpackPlugin 壓縮js
ZipWebpackPlugin 將打包出的資源生成一個zip包

3. mode

    mode用來指定當前的構建環境,可選的有:production, development和none。

    設置mode可以使用webpack內置函數,默認值爲production。

    mode的內置函數功能:

選項 描述
development

process.env.NODE_ENV = development

開啓NamedChunksPlugin 和 NamedModulesPlugin

production

process.env.NODE_ENV = production

開啓FlagDependencyUsagePlugin,  FlagIncludedChunksPlugin, 

ModuleConcatenationPlugin,  NoEmitOnErrorsPlugin, 

OccurrenceOrderPlugin,  SideEffectsFlagPlugin ,TerserPlugin。

none 不開啓任何優化選項

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章