webpack使用mini-css-extract-plugin过程中踩的一些坑

在使用webpack的mini-css-extract-plugin插件时,打包css后样式表里引用文件的路径都有问题,按照网上的教程,大部分都是说修改publicPath
就结论来说,确实只需要将publicPath改为: "../"即可

但是,需要注意的是,当file-loader或者url-loader配置了publicPath时,mini-css-extract-plugin.loader中的publicPath将不再生效

所以最终应该这样配置

{
    test: /\.less$/,
     use: [
         {
             loader: MiniCssExtractPlugin.loader,
             options: {
                 esModule: false,
                 publicPath: "../",
                 hmr: devMode
             }
         },
         "css-loader", 
         {
             loader: "postcss-loader",
             options: {
                 ident: "postcss",
                 plugins: [
                     require("postcss-preset-env")()
                 ]
             }
         }, 
         "less-loader", 
     ]
},
{
	test: /\.(jpg|bmp|png|jpeg|gif|tiff)$/,
	loader: "url-loader",
	options: {
	    limit: 64 * 1024,
	    outputPath: "img",
	    name: devMode ? "[name].[ext]" : "[name].[hash:6].[ext]",
	    esModule: false,
},
{
	test:/.(woff|woff2|eot|ttf|otf|TTF|svg).*?$/,
	loader: "file-loader",
	options: {
	    name: devMode ? "[name].[ext]" : "[name].[hash:6].[ext]",
	    outputPath: "font",
	}
}
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值