Webpack | webpack.config.js配置及基礎module、plugins打包
下載module和plugins
npm i style-loader css-loader less-loader -D
npm i html-webpack-plugin -D
/*
要新建src、build資料夾
在src下新建入口檔案
loader: 1.下載 2.使用(配置loader)
plugins: 1.下載 2.引入 3.使用
*/
const {resolve} = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports={
//入口起點
entry: './src/index.js',
//輸出
output:{
filename:'built.js',
path:resolve(__dirname,'build')
},
//loader的配置
module:{
rules:[
{
//use陣列中loader執行順序:從右到左,從下到上,依次執行
test:/\.less$/,
use:[
'style-loader',
'css-loader',
'less-loader'
]
},
{
test:/\.(jpg|JPG|png)$/,
//處理不了html中的圖片
//下載url-loader和file-loader
loader:'url-loader',
options: {
//圖片小於8kb(一般8~12),就會被base64處理,在built.js裡變成字串形式 資料夾下不會生產相應圖片
//優點:減少請求數量(減輕伺服器壓力)
//缺點:圖片體積會更大(速度更慢)
limit:8*1024,
//可能有小問題:url-loader預設使用es6模組化解析,而html-loader引入圖片是commonjs
//解析時會出現 [object Module]
//解決:關閉url-loader的es6模組化,使用commonjs解析
// esModule:false,
//給圖片進行重新命名
//[hash:10]取圖片前10位
//[ext]取檔案原來副檔名
name:'[hash:10].[ext]',
}
},
{
test:/\.html$/,
//專門處理HTML檔案的img圖片(引入,從而能被url-loader處理
loader:'html-loader'
},
//打包其他資源(除了HTML/js/css以外的資源)
{
exclude:/\.(css|js|html)$/,
loader:'file-loader'
}
]
},
//plugins的配置
plugins:[
//html-webpack-plugin
//功能:預設建立一個空的html 自動引入打包輸出的所有資源(js/css)
//需求:需要有結構的HTML檔案
new HtmlWebpackPlugin({
template:'./src/index.html'
})
],
//模式
mode:'development', //開發模式
// mode: 'production'
}
相關文章
- webpack(4)webpack.config.js配置和package.json配置WebPackageJSON
- webpack學習(四)配置pluginsWebPlugin
- webpack基礎配置Web
- 複習webpack4之使用plugins便捷打包WebPlugin
- webpack根據需求配置打包模組及打包指令Web
- webpack-基礎配置Web
- webpack(3)基礎的打包過程Web
- react中webpack.config.js配置lessless-loader lessReactWebJS
- [ webpack4 ] 配置屬於自己的打包系統教程(一)—— 基礎配置篇Web
- webpack打包地址配置Web
- Webpack安裝配置及打包詳細過程Web
- webpack4-基礎配置Web
- webpack4基礎配置Web
- 【webpack系列】webpack4.x入門配置基礎(一)Web
- webpack基礎配置與css相關loaderWebCSS
- 一個從0到1的webpack打包vue基礎教程WebVue
- 9.Vue之webpack打包基礎---模組化思維VueWeb
- webpack學習(二)初識打包配置Web
- VUE打包後配置配置檔案修改請求url方法及webpack打包的檔案生成同名檔案方法VueWeb
- webpack基礎Web
- webpack 基礎Web
- OSPF介紹及基礎配置
- Mysql安裝及基礎配置MySql
- 【Flutter 基礎】環境及配置Flutter
- Webpack的基本配置和打包與介紹Web
- webpack(11)配置檔案分離為開發配置、生成配置和基礎配置Web
- webpack 基礎使用Web
- webpack基礎講解及簡單搭建步驟Web
- Webpack的基本配置和打包與介紹(二)Web
- [Webpack] 核心概念、基礎配置、常用loader和常用外掛Web
- webpack 基礎入門 - 瞭解webpackWeb
- 【個人部落格搭建及配置一】基礎配置
- NODE基礎總結(2) —— Module
- Webpack 基礎知識Web
- webpack基礎知識Web
- webpack4 基礎?Web
- webpack打包CSSWebCSS
- webpack4配置(1)-打包一個js檔案WebJS