首页 > 其他分享 >vue项目打包,解决静态资源无法加载和路由加载无效(404)问题

vue项目打包,解决静态资源无法加载和路由加载无效(404)问题

时间:2023-10-11 20:23:59浏览次数:37  
标签:Control vue header Access nginx add 404 Allow 加载

打包后的项目静态资源无法使用,导致页面空白

静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,此时找到config里面的index.js,在build模块下加入assetsPublicPath: './', 如下图所示,

       

在History模式下配合使用nginx运行打包后的项目

当刷新当前路由的时候,就会出现404的状况,其实这是因为当刷新当前页面时候,所需要访问的资源在服务器上找不到,也就是说,我们在Vue开发应用的过程中,设置路由的路径不是真实存在的路径,并且使用了history模式。

这是由于我们的应用是一个单页的客户端应用,如果没有适当的服务器配置,用户在浏览器中直接访问 https://example.com/user/id(假设此url在开发中是可以访问的),也会得到一个 404 错误。

解决方法:在部署项目的服务器上找到nginx的配置文件nginx.conf添加以下内容

server {
        listen       80; #监听80端口
        server_name  audio;  #设置server_name名为audio,切记不能与配置文件中的其他server_name重名

        location / {
	   try_files $uri $uri/ /index.html; #使用history模式进行路由

            root 	C:\phpstudy_pro\WWW; #将打包好的dist文件夹中的内容放进WWW文件夹中
            autoindex on;       #开启nginx目录浏览功能
            autoindex_exact_size off;   #文件大小从KB开始显示
            charset utf-8;          #显示中文
            add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; #支持请求方式
            add_header 'Access-Control-Allow-Headers' 'Content-Type,*';
			add_header 'Access-Control-Allow-Headers' 'x_hztz_token,*';
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

注意:配置完nginx后使用命令进行重载

nginx -s reload

或手动重启nginx服务

标签:Control,vue,header,Access,nginx,add,404,Allow,加载
From: https://www.cnblogs.com/yj179101536/p/17758078.html

相关文章

  • Vue响应式
    目录Vue中的响应式对象独立的响应式值计算变量监听响应式变量setup方法Vue中的响应式对象Vue3允许在setup()中定义组件需要的数据和方法,通过return在模板中可以直接使用reactive方法<body><divid="Application"></div><script>constApp=Vue......
  • vue框架,input相同标签如何定位-label定位
    一、问题提出:后台前端框架改版,之前是angularjs,现在用vue,导致input标签定位失败,只能定位到第一个input标签,查看后台源代码发现这两个标签是一模一样,如下图:二、问题思考过程1.为什么以前的版本可以定位成功,而现在的就定位不了啦查阅之前版本的这部分定位代码,发现原来的框架是......
  • Vue自定义指令实现复制功能
    importVuefrom'vue'importstorefrom'../store'functioncopyMethod(value){lettext=''switch(typeofvalue){case'number':text=value.toString()breakcase'object':text=JSON......
  • Vue 路由——重定向
    问题描述:网页打开,url默认是/路径,未匹配到组件时,会出现空白解决:重定向→匹配path后,强制跳转path路径 语法:{path:匹配路径, redirect:重定向到的路径}constrouter=newVueRouter({ routes:[  {path: '/', redirect:'/find'}, ......
  • 问题记录贴:vue-i18n在弹出框中$t()报错:TypeError: Cannot read property '_t' of unde
    网上有用的解决方法:vue国际化在弹出框中$t()报错:TypeError:Cannotreadproperty'_t'ofundefined大佬给出的解决方法:弹窗是一个新的Vue对象,只需要单独给弹窗重新绑定i18n即可。代码://dialog/main.jsimportcustomDialogfrom'./dialog.vue'importi18nfrom'@/i18n'......
  • Vue 生命周期
    Vue生命周期Vue生命周期指的是Vue实例从创建到销毁整个过程Vue生命周期函数Vue生命周期函数(或生命周期回调函数、生命周期钩子)指的是在Vue生命周期的特定关键时间点被Vue自动调用的一些特殊函数注意事项生命周期函数的名字不可更改,但函数的具体内容是程序员根据需......
  • 问题:出现404错误页面的原因
    404错误原因:服务器找不到请求的网页。可能的原因有:1.管理员将原始的网页数据更改,导致网页失效。2.上传到网页的文件目录或文件名称被更改,导致原网页失效。3.上传到网页的文件被移动或被删除也可能导致原链接失效。4.输入的网址有错误,不能连接到所需的文件。......
  • vue3+vite import 引入ThreeBSP库 报错
    我在网上查了一下先用npm下载了三方包npmithree-js-csg再使用constThreeBSP=require('three-js-csg')(THREE)的方法引入出现了这个报错查了是因为require是webpack里的vite不支持所以找不到然后我就尝试使用import的方法引入importThreeBSPfrom'three-js......
  • 竟然可以在一个项目中混用 Vue 和 React?
    React和Vue是前端开发中的两大热门框架,各自都有着强大的功能和丰富的生态系统。然而,你有没有想过,在一个项目中同时使用React和Vue?是的,你没有听错,可以在同一个项目中混用这两个框架!本文就来分享3个用于混合使用React和Vue的工具!#VeauryVeaury是一个基于React和Vue3的工具......
  • vite.config.js base 与 vue-router base
    vite.config.jsbase决定了打包后,资源引用的前缀base:'/hlw/'linkref='/hlw/assets'打包后的dist要放到/hlw路径下base的值与process.env.BASE_URL、import.meta.env.BASE_URL一致vuerouter的base决定了,多页面的访问路径当vite.config.js与router中的base......