vue-cli3访问public文件夹静态资源报错的解决方式

当我们使用Vue.js进行项目开发时,通常需要访问public文件夹中存放的一些静态资源,例如图片、音视频等。但是,有时我们在进行开发时可能会遇到访问public文件夹静态资源时报错的情况,如何解决呢?本文将为你详细讲解。

问题分析

在vue-cli3中,开发环境下引用相对路径的静态资源是没有问题的,但是当我们使用build之后的代码时,引用相对路径的静态资源就会报404错误。

造成这个问题的原因是在build时,默认将所有资源文件打包到了根目录,导致文件路径的变化,从而请求不到相对资源。

解决方案

方案一:使用绝对路径访问静态资源

我们可以通过绝对路径的方式来访问public文件夹中的静态资源,这样就可以避免路径的变化引起的问题。例如,我们可以通过下面的方式来引用public文件夹中的图片:

<img src="/img/logo.png">

上述代码中的"/"表示应用的根目录,因此图片资源的路径会被解析为根目录下的img目录。

方案二:修改vue.config.js配置文件

我们可以通过修改vue.config.js配置文件来修改资源的基础路径,从而解决访问静态资源的问题。具体的步骤如下:

  1. 在项目的根目录下新建vue.config.js文件。
  2. 在该文件中添加如下代码:
module.exports = {
    publicPath: "./"
 }

上述代码中的"./"表示资源的相对路径为当前项目的根目录,也可以根据实际情况自行修改。

  1. 保存文件并重新启动项目。

这样,我们就可以愉快地访问public文件夹下的静态资源了。

示例说明

示例一:使用绝对路径访问静态资源

假设我们在public文件夹下有一张名为"logo.png"的图片,我们可以通过下面的代码来访问该图片:

<img src="/img/logo.png">

上述代码中的"/"表示应用的根目录,因此图片资源的路径会被解析为根目录下的img目录。

示例二:修改vue.config.js配置文件

我们在项目根目录下新建vue.config.js文件,并加入以下内容:

module.exports = {
    publicPath: "./"
 }

保存文件并重新启动项目,便可以愉快地访问public文件夹下的静态资源了。

以上就是解决vue-cli3访问public文件夹静态资源报错的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli3访问public文件夹静态资源报错的解决方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 15分钟学会vue项目改造成SSR(小白教程)

    下面是关于“15分钟学会vue项目改造成SSR(小白教程)”的完整攻略。 什么是SSR? SSR(Server Side Rendering)即服务端渲染,根据服务端返回的数据,在服务端生成HTML字符串,然后将其发送给客户端进行展示。与传统的SPA(Single Page Application)相比,SSR能够优化页面的SEO和首屏加载速度。 如何将Vu…

    Vue 2023年5月27日
    00
  • js中如何复制一个数组(浅复制、深复制)

    JS中复制一个数组有两种方法:浅复制和深复制。 浅复制 浅复制只是复制了数组中的元素的引用,而不是复制元素本身。这意味着,如果原始数组中的元素被改变,则副本中的相应元素也会被改变。下面是复制数组的两条方法: 1.使用slice() slice() 方法返回一个新的数组,这个新数组是通过把原始数组从开始到结束的位置上的所有元素复制到一个新的数组中来创建的。如果…

    Vue 2023年5月27日
    00
  • vue简单练习 桌面时钟的实现代码实例

    下面是关于“vue简单练习 桌面时钟的实现代码实例”的完整攻略。 一、实现时钟的HTML结构 首先,我们需要在HTML中添加一个 元素,用来展示时钟: <div id="app"> <h1>Vue 时钟</h1> <div class="clock"> <span …

    Vue 2023年5月29日
    00
  • Vue数组中出现__ob__:Observer无法取值问题的解决方法

    当我们在使用Vue时,有时候会遇到一个问题:当我们打印Vue数据中的数组时,会出现一条类似“ob:Observer”的信息,而我们想要的数据并没有被打印出来,这是为什么呢?这是因为Vue对于数据的观测,会将其转换为响应式数据,并在数据上挂载一个Observer对象,这个__ob__属性就是用来标识Observer对象的。为了解决这个问题,我们需要使用Vue提…

    Vue 2023年5月29日
    00
  • vue props type设置多个类型

    Vue的props允许我们设置属性的类型,并且支持一次设置多个类型。下面是设置vue props多个类型的攻略和示例: 设置多个类型 在设置属性类型时,我们可以将其设置为多个类型,可选的类型有:String、Number、Boolean、Array、Object、Date、Function、Symbol、以及自定义构造函数等。可以通过Vue提供的Array类…

    Vue 2023年5月27日
    00
  • Vue.js实现多条件筛选、搜索、排序及分页的表格功能

    标题:Vue.js实现多条件筛选、搜索、排序及分页的表格功能攻略 介绍 在Vue.js中实现一个具有多条件筛选、搜索、排序及分页功能的表格,是一个非常常见的需求。这种表格通常用于展示大量数据,让用户可以方便地查找并进行各种操作。在本篇攻略中,将介绍如何使用Vue.js实现这样一个表格功能。 步骤 步骤一 – 准备和设计数据结构 在实现这样一个表格功能之前,需…

    Vue 2023年5月29日
    00
  • vue常用指令代码实例总结

    Vue常用指令代码实例总结攻略 什么是Vue指令 Vue指令是一种特殊的HTML属性, 它们以v-前缀开头,用于渲染模板。指令中可以包含绑定表达式,该表达式的值被动态计算,并且可以自动响应数据变化。 Vue指令有很多种,下面我们来详细讲解一些常用指令的代码实例。 v-if指令 v-if 指令用于根据表达式的值来有条件地渲染某个元素,如果表达式的值为false…

    Vue 2023年5月27日
    00
  • 聊聊vue 中的v-on参数问题

    文本框架: 聊聊Vue中的v-on参数问题 什么是v-on v-on语法 不带参数的v-on 带参数的v-on v-on参数示例 示例一:点击按钮弹出提示框 示例二:在输入框中输入文字被实时监听 v-on综合示例 点击按钮改变背景色并弹出提示 总结 什么是v-on v-on 是 Vue 中的指令,用于监听 DOM 事件并触发Vue中指定的方法。在 Vue 中…

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