V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JiZhiDeboy
V2EX  ›  Vue.js

vue history 模式 tomcat 问题

  •  
  •   JiZhiDeboy · 2020-03-23 16:43:07 +08:00 · 2466 次点击
    这是一个创建于 1466 天前的主题,其中的信息可能已经有所发展或是发生改变。

    history 模式 dev 运行没有问题· 部署到 tomcat 中访问页面显示空白,查看元素能看到引入资源文件是正常的 大佬们这个是什么问题 要怎么处理?

    16 条回复    2020-03-23 23:43:22 +08:00
    randyo
        1
    randyo  
       2020-03-23 16:50:42 +08:00 via Android   ❤️ 1
    要么报错要么路由没定义好
    JiZhiDeboy
        2
    JiZhiDeboy  
    OP
       2020-03-23 16:55:07 +08:00
    @randyo 刚描述有误,部署 访问是框架告诉我页面找不到
    JiZhiDeboy
        3
    JiZhiDeboy  
    OP
       2020-03-23 16:56:30 +08:00
    页面显示空白 有资源文件引入是因为我直接目录路径访问了 index.hml ,根据路由地址访问得到的是框架提示·我页面找不到
    H15018327040
        4
    H15018327040  
       2020-03-23 17:00:59 +08:00   ❤️ 1
    build 后看看能不能访问到文件
    JiZhiDeboy
        5
    JiZhiDeboy  
    OP
       2020-03-23 17:11:03 +08:00
    @H15018327040 是看什么能不能访问到文件
    JiZhiDeboy
        6
    JiZhiDeboy  
    OP
       2020-03-23 17:16:57 +08:00
    目前修改了两个位置
    1.config/index.js assetsPublicPath:"/xxx/xxx/xx/"
    2.router/index.js mode:'history', base: "/xxx/xxx/xx/",
    JiZhiDeboy
        7
    JiZhiDeboy  
    OP
       2020-03-23 17:17:27 +08:00
    @JiZhiDeboy 不知道这个配置是否有问题
    randyo
        8
    randyo  
       2020-03-23 17:18:49 +08:00 via Android   ❤️ 1
    @JiZhiDeboy 你 tomcat 配置路由就吗?你访问 index.html 显示空白是因为你前端没有这个路由。你路由访问找不到页面是因为后端没有配置路由。
    JiZhiDeboy
        10
    JiZhiDeboy  
    OP
       2020-03-23 17:23:56 +08:00
    @randyo 这样的话 我理解的是 history 模式 下后端也要配置路由?
    randyo
        11
    randyo  
       2020-03-23 17:24:43 +08:00 via Android
    @JiZhiDeboy 当然要
    godoway
        12
    godoway  
       2020-03-23 17:25:42 +08:00 via Android   ❤️ 1
    把 404 指向 index 就行了,大部分 spa 都是这样
    JiZhiDeboy
        13
    JiZhiDeboy  
    OP
       2020-03-23 17:36:09 +08:00
    @godoway 这样呀 我查教程时是有看到加 web.xml 处理 404 跳转的,单纯的以为只是处理 404 跳转的 /捂脸 我试试
    H15018327040
        14
    H15018327040  
       2020-03-23 17:55:00 +08:00
    项目是不是前后端分离的?如果是前后端分离的话后端就不用配置路由,npm run build 后访问 dist 文件夹下的 index.html,如果访问不正常的话说明 vue-router 配置有问题。
    H15018327040
        15
    H15018327040  
       2020-03-23 17:56:27 +08:00
    @H15018327040 如果需要放在服务器的话需要配置一个 index.html 的路由
    weixiangzhe
        16
    weixiangzhe  
       2020-03-23 23:43:22 +08:00
    需要所有页面指向 index.html 吧,tomcat 不知道,nginx 是这样整的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3547 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:54 · PVG 12:54 · LAX 21:54 · JFK 00:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.