webpack使用html-loader加载js中引入的html资源

webpack使用html-loader加载js中引入的html资源

一、如何使用html-loader

安装yarn add html-loader --dev
配置webpack.config.js

module.exports = {
   	..., // 其他配置
    module:{
        rules:[
        	{
                test:/.html$/,
                use:{
                    loader:"html-loader"
                }
            }
        ]
    }
}

image.html内容如下:

<div>
    <img src="../images/icon.png" alt="">
    <a href="../images/img.jpg" alt="">this is a tag</a>
</div>

打包入口文件index.js

import imageHtml from './image.html' 
//html文件默认会将html代码作为字符串导出,所以我们需要接收导出的字符串

document.write(imageHtml)

只有在打包的js文件中引入的html才会在打包时被加载到,从而分配html-loader去进行处理。
执行yarn webpack打包,启动服务器查看应用控制台。

在这里插入图片描述
可见,html中的img标签使用的图片被检测到了,然后将其使用url-loader去进行了处理,上面的配置中没有关于url-loader的配置,想了解的读者可以点击这里查看

a标签的href属性中的图片资源没被检测到,因为a标签的href属性默认是不在html-loader的检测范围内的,所以我们需要将其添加上去。

二、html-loader配置

配置webpack.config.js

module.exports = {
   	..., // 其他配置
    module:{
        rules:[
        	{
                test:/.html$/,
                use:{
                    loader:"html-loader",
                    options:{
                    	// html-loader 0.x 配置
                    	// attrs:['img:src','a:href']
                    	
                    	// html-loader 1.x 配置
                    	list:[
                    		"...",// 所有默认支持的标签和属性,这个一定要加上,不然就只会检测a标签了
                    		{
                    			tag:"a",
                    			attribute: 'href',
                                type: 'src'
                    		}
                    	]
                    }
                }
            }
        ]
    }
}

再次执行打包yarn webpack,查看效果。
在这里插入图片描述
引用的图片资源都成功转换了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值