webpack 学习笔记7

文章介绍了不同类型的模块加载方式,包括ESModules的import、CommonJS的require、AMD的define和require,以及样式代码的@import和url函数。特别提到了HTML文件的导入,需要使用html-loader,并指出了html-loader配置中处理img的src和a标签的href的注意事项。
摘要由CSDN通过智能技术生成

模块的加载方式

1、遵守ES Modules 标准的 import 声明 import icon from './icon.png'

2、遵循CommonJS 标准的 require 函数 const fs = require('fs')

​ 注意:若是导入ESModule的话,需要加.default

const heading = require('./heading.js').default

3、遵循AMD 标准的 define 函数和 require 函数

非必要,不要混合使用,否则会大大降低可维护性!

部分loader加载的资源中一些用法也会触发资源模块加载

4、样式代码中的 @import 指令和 url函数

css中background:url(../image/1.png) 本来只是css-loader,然后到这个语句时,会触发对应的url-loader进行处理

5、HTML 代码中图片标签的 src 属性

html文件,也是需要导入到js中才能参与打包过程,可以使用import导入

​ 注意:html文件会默认会将html代码作为字符串导出,所以需要一个变量接收

import footerHTML from '../index.html'
document.write(footerHTML) //输出到页面中

需要安装html-loader才能识别,然后在配置文件添加:

{
	test: /.html$/,
	use:{
		loader: 'html-loader',
        options: {
            attrs: ['img:src','a:href']
        }
	}
}

但仍存在问题,html-loader默认只会处理img的src属性,a标签的src就不行,所以需要添加上图的 attrs 属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值