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,查看效果。
在这里插入图片描述
引用的图片资源都成功转换了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
webpack加载style-resources-loader使用方法如下: 1. 首先,确保已经在项目安装了webpack和style-resources-loader。 ```shell npm install webpack style-resources-loader --save-dev ``` 2. 在webpack配置文件,添加style-resources-loader的配置。 ```javascript const path = require('path'); module.exports = { // 其他配置... module: { rules: [ // 其他规则... { test: /\.scss$/, use: [ // 其他loader... 'style-loader', 'css-loader', 'sass-loader', { loader: 'style-resources-loader', options: { patterns: [ path.resolve(__dirname, '路径/到/样式资源文件1.scss'), path.resolve(__dirname, '路径/到/样式资源文件2.scss'), ], }, }, ], }, ], }, }; ``` 3. 在配置使用style-resources-loaderloader,将样式资源文件引入到每个需要的样式文件。 在上面的配置,可以看到`patterns`选项里指定了两个样式资源文件的路径,你可以根据自己的需求进行扩展或更改。注意,路径需要使用`path.resolve`方法来获取绝对路径。 例如,如果你的项目有`styles`文件夹,并且在该文件夹下有`variables.scss`和`mixins.scss`两个样式资源文件,你可以将路径配置为: ```javascript patterns: [ path.resolve(__dirname, 'styles/variables.scss'), path.resolve(__dirname, 'styles/mixins.scss'), ], ``` 这样,在每个`.scss`文件,你就可以直接使用这些样式资源,而无需每次都手动引入。 总结一下,通过在webpack配置文件的module.rules添加style-resources-loader的配置项,来一次性加载全局样式资源文件,从而简化样式文件的引入

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值