V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
dengji85
V2EX  ›  问与答

各位全栈大牛,我是写 Java 的,请问一下前端得 history 路由如果部署路径错误回报错吗?我这边直接白屏也没报错,网上找了很多资料也没解决, 404 错误也指向了主页

  •  1
     
  •   dengji85 · Jul 20, 2021 · 1648 views
    This topic created in 1748 days ago, the information mentioned may be changed or developed.

    因为页面是在 app 里打开,为避免写登陆,index.html 是通过 java 返回的 jsp,app 打开会把 cookie 写入 静态文件则是匿名的,hash 模式没问题 WtehEn.png Wte6gS.png

    uniapp 打包配置

    "router" : {
                "base" : "/dcxt-user/",
                "mode" : "history"
            }
    
    Supplement 1  ·  Jul 21, 2021
    感谢各位思路,已经解决,用 nginx 部署没问题后,仔细想才发现后端转发 index.html 的配置和前端打包的配置不对,
    后端实际地址变成:h5/index 前端 base 配置 /dcxt-user/

    我这种场景确实很少用,打包页面放 java 应用下 不过好像 jhipster 就是这种 “java 全栈”
    7 replies    2021-07-21 09:48:46 +08:00
    dengshen
        1
    dengshen  
       Jul 20, 2021 via iPhone
    nginx 也要配置一下。看 vuerouter 文档
    dengji85
        2
    dengji85  
    OP
       Jul 20, 2021
    @dengshen 我这是放到 Java 后端上的,404 也指向打包的 index.html
    NjcyNzMzNDQ3
        3
    NjcyNzMzNDQ3  
       Jul 20, 2021
    先把 mode 改成 hash 模式吧,这样会在地址栏显示 vue 真正的路由

    https://router.vuejs.org/zh/guide/essentials/history-mode.html
    NjcyNzMzNDQ3
        4
    NjcyNzMzNDQ3  
       Jul 20, 2021
    VUE 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。

    如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。
    hronro
        5
    hronro  
       Jul 20, 2021
    你们都前后端分离了,还用 JSP 啊?
    anonydmer
        6
    anonydmer  
       Jul 20, 2021
    先让前端的开发自己验证 history 模式没有问题;再把 index.html 放到 java 后台渲染。
    dengji85
        7
    dengji85  
    OP
       Jul 21, 2021
    @hronro 没前后端分离,复杂的页面前端开发好直接仍后端服务器,index.html 后端返回,省去登陆的逻辑,工期紧,不然后端还要改造支持 token 登陆
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2503 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 08:41 · PVG 16:41 · LAX 01:41 · JFK 04:41
    ♥ Do have faith in what you're doing.