vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue静态资源无法加载和路由加载无效

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

作者:NGIWS

这篇文章主要介绍了vue项目打包,解决静态资源无法加载和路由加载无效(404)问题,静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,本文给大家介绍的非常详细,需要的朋友跟随小编一起看看吧

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

静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,此时找到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服务

到此这篇关于vue项目打包解决静态资源无法加载和路由加载无效(404)问题的文章就介绍到这了,更多相关vue静态资源无法加载和路由加载无效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文