vue项目之webpack打包静态资源路径不准确的问题

yizhihongxing

下面详细讲解 "vue项目之 webpack打包静态资源路径不准确的问题" 的攻略流程,如下:

问题描述

在使用 webpack 打包 vue 项目时,如果项目中使用了静态资源(如图片、字体等),在打包后访问页面时可能会出现静态资源路径不正确的问题。

解决方案

方案一:配置 publicPath 参数

webpack 提供了配置 publicPath 参数的方式来解决静态资源路径不正确的问题。具体配置方法如下:

// webpack.config.js

module.exports = {
  output: {
    publicPath: '/'
  }
}

上面的配置可以将静态资源的路径指向根目录。如果静态资源路径的前缀是 /images,那么打包后的路径将为 /images/filename。如果前缀为 /static/images,那么打包后的路径将为 static/images/filename

方案二:使用 file-loader 或 url-loader

如果以上方法不能解决你的问题,你可以尝试使用 file-loaderurl-loader,这两个 loader 可以将静态资源文件复制到打包后的目标目录下。

// webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'img/[name].[hash:7].[ext]'
            }
          }
        ]
      },
      {
        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'media/[name].[hash:7].[ext]'
            }
          }
        ]
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'fonts/[name].[hash:7].[ext]'
            }
          }
        ]
      }
    ]
  }
}

使用 file-loaderurl-loader 后,我们可以在 webpack 打包结束后,在输出目录下找到对应的静态资源文件。

两个示例:

示例一:

静态资源路径前缀为 ./static,打包后的路径为 /static/images/logo.png

<template>
  <div>
    <img src="./static/images/logo.png" alt="logo">
  </div>
</template>

webpack.config.js 文件中配置:

module.exports = {
  output: {
    publicPath: '/'
  }
}

示例二:

静态资源路径为绝对路径 /static/images,打包后的路径为 /static/images/logo.png

<template>
  <div>
    <img src="/static/images/logo.png" alt="logo">
  </div>
</template>

webpack.config.js 文件中配置:

module.exports = {
  output: {
    publicPath: '/'
  }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue项目之webpack打包静态资源路径不准确的问题 - Python技术站

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

相关文章

  • 7——使用textview实现跑马灯

    7——使用TextView实现跑马灯 在Android应用的开发中,使用跑马灯效果可以给用户带来视觉上的特殊体验,增加应用的吸引力。在Android中,我们可以使用TextView实现跑马灯效果。 基本实现 使用TextView实现跑马灯效果非常简单。我们只需要在布局文件中添加TextView,并设置相关属性即可。以下是实现跑马灯效果的示例代码: <T…

    其他 2023年3月28日
    00
  • Win10 CMD命令大全与超好用的快捷键(史上最全)

    Win10 CMD命令大全与超好用的快捷键 本文将介绍Windows 10中常用的CMD命令行和快捷键的大全,包括语法、用法和示例。由于篇幅较长,建议使用书签进行收藏,以备将来使用。 命令行提示符 CMD命令行提示符是Windows下最常用的命令行界面,它通常以黑色背景显示,可以通过以下方法打开: 在Windows 10中搜索“cmd”或“命令提示符”,然后…

    other 2023年6月26日
    00
  • 为什么要使用自增ID作为主键

    为什么要使用自增ID作为主键 在数据库设计中,主键是非常重要的概念。主键的作用是标识一个数据行,确保每行的唯一性,并且在表中查找数据时提高效率。在大多数情况下,我们会选择自增ID作为主键。 什么是自增ID 自增ID是指在新插入数据时,数据库自动为记录生成一个唯一的ID值。这个ID值通常是一个长整型值,其值在新插入的每行记录中逐个增加。 自增ID的好处 唯一性…

    其他 2023年3月28日
    00
  • xna4.0环境搭建和helloworld windowsphone游戏开发

    XNA 4.0 环境搭建和 HelloWorld Windows Phone 游戏开发 XNA 是一款适用于开发 Windows Phone 游戏的框架。本文将介绍如何搭建 XNA 4.0 环境以及创建一个简单的 HelloWorld Windows Phone 游戏。 XNA 4.0 环境搭建 安装 Visual Studio 首先需要安装 Visual …

    其他 2023年3月28日
    00
  • Windows平台下配置VS Code的C++环境教程

    下面我会详细讲解“Windows平台下配置VS Code的C++环境教程”的完整攻略。 配置VS Code的C++环境教程 步骤1:安装C++编译器 首先我们需要安装C++编译器,这里我们选择安装MSVC。 下载并安装Visual Studio Community版本。下载链接:https://visualstudio.microsoft.com/zh-ha…

    other 2023年6月26日
    00
  • jquery模拟点击事件

    以下是关于“jQuery模拟点击事件”的完整攻略,包括模拟点击事件的方法、示例和注意事项等。 模拟点击事件的方法 在jQuery中,可以使用 .click() 方法来模拟点击事件。该方法可以用于模拟用户点击按钮、链接、复选框、单选框等元素。 以下是使用 .click() 方法模拟点击事件的示例: // 模拟点击按钮 $(‘#myButton’).click(…

    other 2023年5月7日
    00
  • laravel5.5跨域问题解决方案

    当然,我很乐意为您提供有关“Laravel 5.5跨域问题解决方案”的完整攻略。以下是详细的步骤和两个示例: 1 跨域问题 跨域是指在浏览器中,当一个网页向不同的域名、端口或协议发送请求时,浏览器会阻止该请求。这是由于浏览器的同源策略所导致的。 2 Laravel 5.5跨域问题解决方案 Laravel 5.5提供了一种简单的方法来解决跨域问题。以下是解决跨…

    other 2023年5月6日
    00
  • linux安全和加密篇(六)ssh隧道—动态端口转发

    Linux安全和加密篇(六)SSH隧道—动态端口转发攻略 在本攻略中,我们将详细讲解SSH隧道中的动态端口转发。我们将提供个示例,一个是使用Linux命令行,另一个是使用PuTTY SSH客户端。 动态端口转发的含义 动态端转发是SSH隧道的一种技术,它允许用户通过SSH连接到远程主机,并将本地计算机上的所有网络流量SSH隧道转发远程主机。这种技术可以帮助用…

    other 2023年5月8日
    00
合作推广
合作推广
分享本页
返回顶部