webpack解决:background-image: url([object Module]) 的图片无法显示的问题;

1、问题描述:

其一、存在的问题为:

在页面控制台的 head 中的 style 内,发现 background-image: url([object Module]) 的问题;

其二、问题描述为:

在项目打包的时候 npm run build,项目控制台及浏览器控制台没有报错,但在浏览器页面中,指定的背景图片没显示;

其三、页面控制台不展示图片的情况为:

在这里插入图片描述

2、问题分析:

根据问题描述可知:项目在打包的时候,浏览器页面背景图等图未显示,应该是 webpack 中的 file-loader 或 url-loader 的配置问题;

3、问题解决:

其一、发现并解决问题:

A、解决问题:

webpack.config.js 配置里,的 url-loader 中的 option 中添加 esModule: false 属性即可;

B、问题解析:

url-loader 默认采用 ES 模块语法,即 import '../aaa.png'
然而 Vue 生成的是 CommonJS 模块语法,即 require('../image.png'),因此有冲突;

C、解决冲突的方式:

要么让 file-loader 或 url-loader 采用 CommonJS 语法,要么让 Vue 采用 ES 语法;

D、冲突的解决:

url-loader 中的属性 esModule 选项能调整,将其设置为 false 即可,就关闭了 ES 模块语法;

其二、修改代码的页面为:

在这里插入图片描述

其三、修改后页面就能成功展示 background-image: url 的值:

在这里插入图片描述

4、小结:

其一、哪里有不对或不合适的地方,还请大佬们多多指点和交流!
其二、若有转发或引用本文章内容,请注明本博客地址(直接点击下面 url 跳转) https://blog.csdn.net/weixin_43405300,创作不易,且行且珍惜!
其三、有兴趣的话,可以多多关注这个专栏(Vue(Vue2+Vue3)面试必备专栏)(直接点击下面 url 跳转):https://blog.csdn.net/weixin_43405300/category_11525646.html?spm=1001.2014.3001.5482

猜你喜欢

转载自blog.csdn.net/weixin_43405300/article/details/132669679