返回顶部
首页 > 资讯 > 前端开发 > JavaScript >部属vue项目,访问路径设置非根,显示白屏的解决方案
  • 759
分享到

部属vue项目,访问路径设置非根,显示白屏的解决方案

2024-04-02 19:04:59 759人浏览 八月长安
摘要

目录Vue访问路径设置非根显示白屏解决vue部署到非根目录设置需要修改三处配置vue访问路径设置非根显示白屏 问题: 访问页面,返回“We’re sorry

vue访问路径设置非根显示白屏

问题:

访问页面,返回“We’re sorry but XXX doesn’t work properly without javascript enabled. Please enable it to continue.”

环境:

使用Nginx部属vue项目时,没有把访问项目设置为根路径

说明:

当访问项目对应的nginx配置没有给项目的访问路径设置为根时,页面显示白屏,在network中可以看到所有资源都加载完成,

index.html会显示

“We’re sorry but XXX doesn’t work properly without JavaScript enabled. Please enable it to continue.”信息;

如果将项目的nginx配置访问路径设置成根路径,网站页面可以正常访问,但是请求的返回还是会有这样的信息,这段信息就写在了index.html页面中;

分析原因是vue项目中会有对访问路径的判断,如果不是根路径,就不执行js代码,进而显示白屏。

解决

vue项目,访问路径不是根目录,依照以下几个步骤进行设置,就可以正常访问

1.修改vue.config.js,设置pbulicPath路径

2.设置路由中的base信息

3.修改nginx,在serve中设置location /WEBroot

vue部署到非根目录设置

假设部署到根目录下app文件夹里

需要修改三处配置

1.config => index.js

   // Paths
    assetsRoot: path.resolve(__dirname, "../dist"),
    assetsSubDirectory: "static",
    assetsPublicPath: "/app/", //修改打包后路径  修改这里

把 assetsPublicPath: "/", 修改成 assetsPublicPath: "/app/",

2.router => index.js

const router = new Router({
  mode: "history",
  // base: getAbsolutePath(),
  base: "/app/",
  routes: [...]
......

增加基础路径 base:"/app/"

3.网站根目录文件夹下修改配置文件,用的是IIS

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear />
                <add value="zkpt.asmx" />
                <add value="index.html" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
            </files>
        </defaultDocument>
        <!-- 刷新白屏增加配置start -->
 <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/app/" />
        </rule>
      </rules>
    </rewrite>
    </system.webServer>
    <!-- 刷新白屏增加配置end -->
</configuration>

修改 

<action type="Rewrite" url="/" />

为    

<action type="Rewrite" url="/app/" />

这样就可以了,亲测没有问题。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 部属vue项目,访问路径设置非根,显示白屏的解决方案

本文链接: https://lsjlt.com/news/146531.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 部属vue项目,访问路径设置非根,显示白屏的解决方案
    目录vue访问路径设置非根显示白屏解决vue部署到非根目录设置需要修改三处配置vue访问路径设置非根显示白屏 问题: 访问页面,返回“We’re sorry ...
    99+
    2024-04-02
  • 部属vue项目访问路径设置非根显示白屏怎么解决
    本篇内容介绍了“部属vue项目访问路径设置非根显示白屏怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue访问路径设置非根显示白屏问...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作