• 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服务

  • 相关阅读:
    NX二次开发-UFUN按类型遍历名字获取Tag函数UF_OBJ_cycle_by_name_and_type
    LLVM 文档收集
    【SSM直击大厂】第十三章:MyBatis 详解
    在线疫苗预约小程序|基于微信小程序的在线疫苗预约小程序设计与实现(源码+数据库+文档)
    一次偶然的钓鱼文件分析
    OPC UA协议基础
    动手强化学习(六):DQN 算法
    Docker容器:docker基础
    springboot基于web的摩托车销售系统的设计与实现毕业设计源码031706
    QT点击事情实现图片切换
  • 原文地址:https://www.cnblogs.com/yj179101536/p/17758078.html