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框架和前后端开发详解

    Vue框架和前后端开发详解 Vue.js是一款轻量级、高效、灵活的JavaScript框架,广泛应用于Web开发。它支持双向数据绑定,组件化开发,易于学习和使用。在前后端分离开发中,Vue.js常被用作前端开发框架,与后端框架结合使用,完成Web应用程序的开发。 本文将从以下几个方面详细讲解Vue框架和前后端开发的相关知识。 Vue框架介绍 Vue.js是一…

    Vue 2023年5月27日
    00
  • 一起来做一下Vue全局提示组件

    下面我来给你详细讲解如何实现一个Vue全局提示组件的攻略。 1. 安装和引入组件 首先,你需要安装一个Vue全局提示组件的库,推荐使用vue-notifications。 在项目中安装该库的命令为: npm install vue-notification 接着在main.js中引入该组件: import Vue from ‘vue’ import Noti…

    Vue 2023年5月28日
    00
  • Vue中简单的虚拟DOM是什么样

    下面我将详细讲解Vue中简单的虚拟DOM及其特点和应用。 什么是Vue中的虚拟DOM 在Vue中,将真实的DOM和虚拟的DOM都当作了节点来操作。它们的区别在于,真实的DOM节点可以直接在浏览器中渲染,而虚拟DOM节点是在内存中以对象的形式存在,有助于减少频繁的页面操作。 Vue中的虚拟DOM是一个模拟真实DOM的内存树结构,每个节点对应一个真实DOM节点,…

    Vue 2023年5月27日
    00
  • 详解从零搭建 vue2 vue-router2 webpack3 工程

    《详解从零搭建 vue2 vue-router2 webpack3 工程》是一篇教程,它旨在帮助初学者学习如何使用 Vue 2 和 Vue-Router 2 搭建一个简单的 Web 应用程序,同时使用 Webpack 3 来处理依赖,以及使用 ES6 进行编程。以下是它的完整攻略: 介绍 在开始之前,需要了解一些前置知识:Vue.js 是一个渐进式 Java…

    Vue 2023年5月27日
    00
  • 详解vue 数据传递的方法

    当我们在使用Vue开发Web应用时,数据的传递是一个非常重要的概念。Vue提供了多种方法来实现数据的传递,本文将详细讲解Vue数据传递的方法。 Prop Prop是Vue提供的一种父子组件通信的方式。当子组件需要从父组件中获取数据时,我们可以使用Prop将数据传递给子组件。 Prop的使用 在父组件中,我们可以通过在子组件标签上添加属性的方式来传递数据,例如…

    Vue 2023年5月28日
    00
  • require.js+vue开发微信上传图片组件

    下面是“require.js+vue开发微信上传图片组件”的详细攻略。 准备工作 首先要安装Require.js和Vue.js。 安装Require.js 可以使用npm来安装Require.js: npm install requirejs 安装Vue.js 可以使用npm来安装Vue.js: npm install vue 安装完之后,还需要在HTML中…

    Vue 2023年5月27日
    00
  • vue3中的ref()详解

    那我就来详细讲解一下”vue3中的ref()详解”的攻略。 简介 ref函数是Vue 3中的一个响应式API,它不仅可以用来创建响应式数据,还可以用来在模板或JSX中访问元素和组件。 创建响应式数据 在Vue.js 2.X版本中,创建响应式数据需要用到 Vue 对象的 data 选项,通常需要在组件的 data 函数中返回一个对象。 而在Vue.js 3.0…

    Vue 2023年5月28日
    00
  • ionic cordova一次上传多张图片(类似input file提交表单)的实现方法

    一、背景 在移动端开发中,经常会遇到需要上传多张图片的需求,例如上传头像、相册、动态图片等。Ionic是一个基于AngularJS和Cordova的开发框架,提供了丰富的插件和能力,可以便捷地实现这类功能。 二、实现思路 实现多张图片上传的关键在于,需要通过Cordova的File Transfer插件将多张图片上传到服务器。因为Cordova File插件…

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