vue webpack打包后.css文件里面的背景图片路径错误解决方法

资源相对引用路径

问题描述

通常状况下,经过webpack+vuecli默认打包的css、js等资源,路径都是绝对的。css

但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,由于把配置的static文件夹当成了根路径,那么要解决这种问题,就得引用相对路径。html

解决办法

打开webpack.prod.conf.jsvue

找到output增长 publicPath: './', 便可,如图。webpack

那么这样后,资源的引用路径就正确了。web

固然在config文件夹下的index.js中修改 assetsPublicPath: './'一样也能够达到资源的相对引用。app

背景图片的引用问题

上面虽然解决了资源路径的引用问题,可是资源里面的背景图片,不像index.html中加载资源同样,经过./static/js/app.js引用能够正常加载,图片资源是经过css加载的,如 background: url("../../assets/images/logo-index.png") no-repeat;被相对打包后变成了url(static/img/logo-index.2f00bf2.png) no-repeat因此咱们要保留css引用图片的正常路径,即:post

url(../../static/img/logo-index.2f00bf2.png) no-repeat

那么就须要修改build文件夹下的utils.js代码,如图所示:字体

添加如图所示的一行代码,这样不管是字体仍是图片的引用问题都能解决。ui

相关文章
相关标签/搜索