vue打包静态资源后显示空白及static文件路径报错的解决

如何解决vue打包静态资源后显示空白及static文件路径报错问题?

在vue项目中,打包后出现空白或者找不到static文件的问题相信大家都遇到过。下面我来详细讲解如何解决这个问题。

解决过程:

一、修改Vue项目的config/index.js文件

config/index.js文件主要包含了一些项目的基本配置,如开发和生产环境的配置等。我们需要修改生产环境下的一些配置,主要包括assetsPublicPath和assetsSubDirectory。

首先,我们需要在该文件中找到如下代码:

    build: {

        // Template for index.html
        index: path.resolve(__dirname, '../dist/index.html'),

        // Paths
        assetsRoot: path.resolve(__dirname, '../dist'),
        assetsSubDirectory: 'static',
        assetsPublicPath: './',

    .........
  1. 修改assetsPublicPath

assetsPublicPath是指静态资源的公共路径,它应该和你的主页文件在同一级目录。而./是指当前目录,这就可能导致在不同的目录下无法使用相同的静态资源。所以我们需要将其修改为./,如下:

    assetsPublicPath: './',

改为

    assetsPublicPath: '/',
  1. 修改assetsSubDirectory

assetsSubDirectory是指存放生成的静态资源(js、css、img等)的目录。很多开发者使用的是/static,但是这会导致可以在本地使用但是在服务器(比如nginx)上无法正确请求。所以我们需要将其改为‘./static’,这样在不同目录服务器环境下都可以正常调用静态资源了,如下:

    assetsSubDirectory: 'static',

改为

    assetsSubDirectory: './static',

二、修改webpack.base.conf.js

在在build文件夹下找到webpack.base.conf.js文件,在module.exports下面添加:

    module: {
        rules: [
            {
                test: /\.scss$/,
                loaders: ["style", "css", "sass"]
            }
        ]
    },

三、打包

重启项目,执行npm run build 进行项目打包。

至此,我们已经完成了vue打包静态资源后显示空白及static文件路径报错问题的完整解决。

示例一:

如果打包后发现静态资源没有被引入,可以通过打开控制台查看network选项卡,或者通过webpack-bundle-analyzer插件分析打包后的代码 bundle visualizer(需要全局安装webpack-bundle-analyzer插件)。如果资源被引入了,查看路径是否正确,主要需要确认assetsPublicPath和assetsSubDirectory设置是否正确。

示例二:

如果打包后,访问页面为空白或报错说找不到资源的话,可以在打开控制台,看看console有没有报错,如果报错的话,可以看看路径是不是设置正确的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue打包静态资源后显示空白及static文件路径报错的解决 - Python技术站

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

相关文章

  • 基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能

    下面是关于“基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能”的完整攻略: 准备工作 在开始开发之前,需要完成以下准备工作: 安装node.js环境 安装Vue CLI命令行工具 安装uni-app框架 创建项目 使用Vue CLI命令行工具创建uni-app项目: vue create -p dcloudio/uni-preset-…

    Vue 2023年5月27日
    00
  • vue学习笔记之指令v-text && v-html && v-bind详解

    针对“vue学习笔记之指令v-text && v-html && v-bind详解”,我来给你详细讲解一下。 一、v-text指令 1.1 v-text定义 v-text指令用于在Vue模板中更新元素的文本内容。它会替换元素的textContent,但是不会解析其中的HTML标签。 1.2 v-text使用示例 下面是一个简单…

    Vue 2023年5月27日
    00
  • Vue3 入口文件createApp函数详解

    下面就是关于「Vue3 入口文件createApp函数详解」的完整攻略。 什么是createApp函数? createApp 函数是 Vue 3 的入口函数,用于创建一个应用程序实例。在使用 Vue 3 开发应用程序时,通常是以 createApp 函数为入口。 createApp函数的语法 createApp 函数的语法如下: const app = cr…

    Vue 2023年5月28日
    00
  • VueX安装及使用基础教程

    VueX是Vue.js的状态管理库,它可以帮助我们在应用程序中管理共享状态。下面是VueX安装及使用基础教程的完整攻略。 安装 # 使用npm安装 npm install vuex –save # 使用yarn安装 yarn add vuex 使用 首先,在Vue.js中使用VueX,我们需要将其添加到我们的Vue.js应用程序中。可以使用以下代码在Vue…

    Vue 2023年5月27日
    00
  • 详解实现vue的数据响应式原理

    下面将详细讲解实现Vue数据响应式原理的完整攻略。内容将按照以下顺序展开: 理解Vue数据响应式原理的基本概念和实现原理 实现一个简单的数据响应式库 使用示例对实现过程进行说明 1. Vue数据响应式原理的基本概念和实现原理 Vue的数据响应式原理是指,当一个Vue组件的数据发生变化时,视图会自动重新渲染。这种自动重新渲染的机制是Vue框架提供的,在我们使用…

    Vue 2023年5月29日
    00
  • vue diff算法全解析

    Vue Diff算法全解析 什么是diff算法 Diff算法是指计算两个版本之间差异的一种算法,常用于前端框架的虚拟DOM渲染优化中。在Vue中,Diff算法被应用于虚拟DOM的更新过程中,用于计算当前虚拟DOM与上一次渲染的虚拟DOM之间的差异,然后最小化DOM操作,从而提升性能。 diff算法的原理 (此部分内容较为抽象,建议读者阅读完整分析之后自行体验…

    Vue 2023年5月29日
    00
  • vue组件打包并发布到npm的全过程

    下面是Vue组件打包并发布到npm的全过程: 第一步:创建Vue组件项目 首先,我们需要创建一个Vue组件项目,可以使用Vue CLI来创建项目。具体步骤如下: 打开命令行工具,并输入以下命令来安装Vue CLI: npm install -g @vue/cli 接着,在指定的目录下运行以下命令来创建一个Vue组件项目: vue create your-pr…

    Vue 2023年5月28日
    00
  • vue项目实现图片上传功能

    下面是实现Vue项目图片上传功能的完整攻略: 准备工作 在开始实现图片上传功能之前,我们需要先进行几项准备工作。首先,需要确定你使用的Vue版本是否支持vue-cli3,如果不支持,需要先安装一个支持vue-cli3的Vue版本。其次,需要安装一个Vue插件——vue-uploader,以便我们更方便地完成图片上传功能开发。 安装Vue-cli3 Vue-c…

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