一.生成HTML
inject:向template或者templateContent中主入所有静态资源
var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exprots={
entry:{
app:'./src/app.js'
},
output:{
path:path.resolve(__dirname,'dist'),
filename:"[name].[hash:5].js"
},
plugins:[
new HtmlWebpackPlugin({
filename:"index.html"
})
]
}
dist文件夹中会自己生成index.html引入合适的js文件
plugins:[
new HtmlWebpackPlugin({
template:'./index.html',
filename:'index.html',
chunks:['app']
})
]
entry:{
app:'./src/app.js',
main:'./src/main.js'
}
plugins:[
new HtmlWebpackPlugin({
template:'./index.html',
filename:'index.html',
chunks:['app']
}),
new HtmlWebpackPlugin({
template:'./index.html',
filename:'main.html',
chunks:['main']
}),
]
plugins:[
new HtmlWebpackPlugin({
template:'./index.html',
filename:'app.html',
minify:{
collapseWhitespace:true
},
chunks:['app']
})
]
去除双引号
minify:{
removeAttributeQuotes:true
}
inject
//是否去除js模块引入
inject:false
//头部引入
inject:'head'
module:{
rules:[{
test:/\.html$/,
use:{
loader:'html-loader',
options:{
attrs:"[img:src]"
}
}
},{
test:/\.png$/,
use:{
loader:'file-loader',
options:{
attrs:"[name]-[hash:5].[ext]"
}
}
}]
}
三.提取CSS
1.extract-text-webpack-plugin@next
npm i extract-text-webpack-plugin -D
let ExtractwebpackPlugin = require('extract-text-webpack-plugin');
new ExtractwebpackPlugin ({
filename:"[name]-[hash:5].css"
})
rules:[{
test:/\.css$/,
use:ExtractwebpackPlugin.extract({
fallback:{
loader:'style-loader'
},
use:{
loader:'css-loader'
}
})
}]
四.清除文件
npm i clean-webpack-plugin -D
var CleanWebpackPlugin = require('clean-webpack-plugin')
new CleanWebpackPlugin(['dist'])