解决webpack5打包html中图片后图片无法显示问题
程序员文章站
2022-05-25 21:10:05
...
错误代码如下:
//loader的配置
module: {
rules: [{
test: /\.(png|svg|jpg|jpeg|gif)$/,
loader: 'url-loader',
},
{ test: /\.html$/,loader: 'html-loader' }
]
},
此时打包好的html文件中的img标签路径(为错误路径):
解决方案
------在尚硅谷的webpack5****中有讲到,因为url-loader默认使用es6模块化进行解析,而html-loader使用的是commonjs进行解析,所以url-loader解析时会出错(见上面错误路径图片)。
方案一代码:
{
test: /\.(png|svg|jpg|jpeg|gif)$/,
loader: 'url-loader',
//禁用掉es模块
options: { esModule: false }
},
//注意!!!!!!!!!!!!!!!!!!!!!!
//此处使用webpack5支持的 "html-withimg-loader",
//如使用 "html-loader",就算禁用了es模块还是会没用
{ test: /\.html$/, loader: 'html-withimg-loader' }
成功后图片,可与上面的错误路径图片进行对比。
方案二代码:
使用webpack官方文档提供的方法,官方方法位置:指南—>管理资源—>加载images图像。
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
最后欢迎留言讨论v( •̀ ω •́ )✧。
推荐阅读
-
终于解决了html中img标签图片不显示问题
-
终于解决了html中img标签图片不显示问题
-
webpack打包html中img,打包资源成功,图片引用错误,不能显示问题
-
解决webpack5打包html中图片后图片无法显示问题
-
webpack5打包静态html中img标签引入图片不显示问题
-
webpack:使用html-withimg-loader对html中img标签引入的图片打包,打包后图片无法显示,路径上多出default对象
-
在vue+webpack中解决css引用图片打包后找不到资源文件方面的问题
-
终于解决了html中img标签图片不显示问题
-
在vue+webpack中解决css引用图片打包后找不到资源文件方面的问题