vue 项目打包时样式及背景图片路径找不到的解决方式

yizhihongxing

当使用vue-cli等脚手架搭建的Vue项目进行打包后,会出现样式文件或者背景图片无法正确加载的情况,这是因为在打包过程中,打包工具不会将样式文件和图片等静态资源的相对路径修改为绝对路径,而导致找不到文件的错误。该问题可以通过以下两种方式解决:

方法一:使用publicPath

publicPath是webpack中用来设置资源路径的一个选项,通过设置公共路径,打包后的文件会使用publicPath作为文件的根路径。

  1. 在vue.config.js文件中设置publicPath:

    js
    module.exports = {
    publicPath: './', // 或者使用 /static/
    }

  2. 将样式文件、背景图片等静态资源的相对路径修改为publicPath并重新打包。

例如,将样式文件中的相对路径:

background-image: url('./assets/images/banner.jpg');

修改为publicPath后的绝对路径:

background-image: url('/static/assets/images/banner.jpg');
  1. 打包后,会发现样式文件和图片已经正确加载。

方法二:使用file-loader

file-loader是webpack中的一个loader,可以将一个文件作为模块进行打包,并返回该文件的相对路径,从而解决相对路径问题。

  1. 安装file-loader:

    shell
    npm install file-loader -D

  2. 在vue.config.js文件中配置file-loader:

    js
    module.exports = {
    chainWebpack: config => {
    config.module
    .rule('images')
    .test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
    .use('file-loader')
    .loader('file-loader')
    .options({
    name: '[name].[hash:8].[ext]',
    })
    }
    }

  3. 将样式文件中的相对路径修改为file-loader返回的相对路径:

background-image: url('~assets/images/banner.jpg');
  1. 打包后,会发现样式文件和图片已经正确加载。

以上两种方法都可以解决打包时样式及背景图片路径找不到的问题。其中方法一通过设置publicPath来解决,方法二通过使用file-loader来解决。需要根据自己项目的实际情况进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue 项目打包时样式及背景图片路径找不到的解决方式 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 详解Css3新特性应用之过渡与动画

    详解Css3新特性应用之过渡与动画 1. 什么是CSS3过渡? CSS3过渡是一种在元素样式发生改变时,为这些改变应用一个动画效果的技术。在样式属性的值从一个状态转变到另一个状态时,这种技术可以逐渐地改变样式属性值,而不是瞬间改变。过渡可以应用于多种样式属性,如颜色、位置、大小、形状、透明度等。通过过渡技术,我们可以创建出更流畅、更美观的界面效果。 1.1 …

    css 2023年6月10日
    00
  • bootstrap中的导航条实例代码详解

    Bootstrap中的导航条是非常常用的组件,可以方便的实现不同页面之间的切换和跳转。下面是Bootstrap中的导航条实例代码的详细攻略。 导航条的基本结构 导航条是由<nav>标签包裹,其中的导航链接用<a>标签包裹。Bootstrap提供了很多不同类型的导航条,比如常规导航条、响应式导航条等。以下是一个基本的常规导航条的代码例子…

    css 2023年6月11日
    00
  • CSS教程:盒模型(BOX Model)

    下面是CSS教程:盒模型(BOX Model)的完整攻略: 一、什么是盒模型? CSS盒模型(Box Model)是CSS的基础知识,在理解CSS及布局的过程中至关重要。一个HTML元素在页面上占据一个矩形的区域,这个矩形就称之为盒模型。 盒模型的4个部分:1. 内容区:元素的实际内容,例如文字、图片等。宽度(width)和高度(height)指的是内容区的…

    css 2023年6月9日
    00
  • CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法

    本文将为大家详细讲解“CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法”的完整攻略。 1. 什么是径向渐变? 径向渐变(radial-gradient)是CSS3新增的一种渐变方式,它是从一个圆形、椭圆形或球形的中心开始改变颜色的过渡效果。径向渐变可以用来创建许多不同的特效,例如波浪边框和内倒角。 2. 实现径向渐变波浪边框的方法: …

    css 2023年6月9日
    00
  • css图标制作教程制作云图标

    下面我会详细讲解如何制作云图标的完整攻略,包含以下几个步骤: 1. 准备工作 在制作过程中,我们需要准备两个东西,一是云的SVG图标文件,二是实现动画效果的CSS代码: (1)SVG图标文件: 首先需要使用Adobe Illustrator或其他矢量图形编辑软件,设计并导出一个云的SVG图标文件,示例如下: <svg width="24px&…

    css 2023年6月10日
    00
  • 如何处理小图标与文字混排的多种解决方案

    关于处理小图标与文字混排的多种解决方案,可以按以下方式进行: 一、使用CSS Sprite CSS Sprite 的概念: 是指将一个或多个小图片合成到一张大图中,在网页中通过 CSS 样式来调用不同位置的小图标。这样做可以减少 HTTP 请求次数,提高页面性能。 具体实现步骤:1.将所有小图标文件合并成一张大图,可使用图片处理软件或在线工具处理;2.在CS…

    css 2023年6月9日
    00
  • 基于CSS3制作立体效果导航菜单

    关于“基于CSS3制作立体效果导航菜单”的完整攻略,我将分享以下步骤: 步骤一:HTML 代码 首先,我们需要编写导航菜单的 HTML 代码。如下所示: <nav> <ul> <li><a href="#">Home</a></li> <li><a …

    css 2023年6月10日
    00
  • css两端对齐之div+css布局实现2端对齐的4种方法总结

    对于“css两端对齐之div+css布局实现2端对齐的4种方法总结”,我来为您进行详细的讲解。 一、前言 首先需要明确的是,“两端对齐”是指左边和右边都达到同一行,且左右两端的内容分别左对齐、右对齐,并且中间的空隙等宽。 二、方法总结 以下是4种方法总结: flex布局 使用flex布局方式比较简单直观,可以通过设置父容器display属性为flex,利用j…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部