-
其他资源
不需要优化和压缩处理,直接输出的资源,称为其他资源。 -
webpack.config.js
module: { //css打包规则
rules: [{
test: /\.css$/, //把项目中所有以.css结尾的文件打包,插入到html里
use: [MiniCssExtractPlugin.loader, "css-loader", "postcss-loader"] //css兼容loader,单独的css文件
}, {
test: /\.(png|jpg|jpeg|gif)$/, //处理图片资源
//如果只有一个loader不用数组,就不需要use,直接使用loader
loader: "url-loader",
options: {
publicPath: '../img/', //打包文件中所有通过相对路径引用的资源都会被配置的路径所替换。
outputPath: 'img/', //输出路径
limit: 8 * 1024, //图片大小于8KB,就会被base64处理,减少请求数量
name: '[name][hash:10].[ext]', //给图片重命名,[hash:10]取图片hash的前10位,[ext]取文件原来的扩展名
esModele: false
}
}, {
//html-loader处理html文件的img图片(负责引入img,从而能被url-loader进行处理)
test: /\.html$/,
loader: "html-loader",
},{
//排除以下资源,即其他资源做处理
exclude: /\.(js|css|html|json|less|scss|jpg|png|jpeg|gif)$/,
loader: "file-loader",
options: {
outputPath: "font/",
publicPath: "../font",
name: '[name].[ext]', //保留原名
}
}]
},
- 目录结构
index.html
<p>
<span class="iconfont icon-vue">11111</span><br>
<span class="iconfont icon-react">11111</span><br>
<span class="iconfont icon-webpack">11111</span><br>
</p>
index.js添加
require("../css/iconfont.css")
- 执行
webpack