module: {
rules: [
// (1) 配置css文件的解析
{
// 正则: 匹配所有以css结尾的文件
test: /\.css$/,
// 实际处理顺序: 从右往左
// css-loader 让webpack能够识别解析 css 文件
// style-loader 通过动态的创建style标签的方式(js), 让解析后的css内容, 能够作用到页面中
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
publicPath: '../',
},
},
'css-loader'
]
},
// (2) 配置less文件的解析
{
test: /\.less$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
publicPath: '../',
},
},
'css-loader',
'less-loader'
]
},
// (3) 配置图片文件的解析 i 表示忽视大小写 .PNG
{
test: /\.(png|jpg|gif)$/i,
use: [
// url-loader 如果不配置, 默认都会将文件转成base64字符串的格式
{
loader: 'url-loader',
// 8k以内, 转成base64, 节约请求次数, 8k以外, 单独一个文件请求
options: {
limit: 8 * 1024,
// 配置输出的文件名
name: '[name].[ext]',
// 配置静态资源的引用路径
publicPath: "../images/",
// 配置输出的文件目录
outputPath: "images/"
}
}
]
},
// (4) 配置对于高版本js的兼容性处理
{
test: /\.js$/,
// 配置排除项
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。