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


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

    资源相对引用路径

    问题描述

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

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

    解决办法

    打开webpack.prod.conf.js

    找到output增加 publicPath: './', 即可,如图。

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

    当然在config文件夹下的index.js中修改 assetsPublicPath: './'同样也可以达到资源的相对引用。

    背景图片的引用问题

    上面虽然解决了资源路径的引用问题,但是资源里面的背景图片,不像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引用图片的正常路径,即:

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

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

     

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

    我自横刀向天笑,哈哈哈哈哈哈哈!
  • 相关阅读:
    CSS
    js
    js
    js
    JS
    Service Worker 学习笔记
    JS JavaScript模块化(ES Module/CommonJS/AMD/CMD)
    前端开发 JavaScript 规范文档
    HTML HTML5 新特性
    JS 设计模式九 -- 装饰器模式
  • 原文地址:https://www.cnblogs.com/yinian/p/10951030.html
Copyright © 2020-2023  润新知