wenjunlong88_easy
wenjunlong88_easy
采纳率80.5%
2018-08-16 10:36

为什么我添加contextPath之后就不能访问static文件下面的index.html呢

5

为什么我添加contextPath之后就不能访问static文件下面的index.html呢?
背景介绍:
springboot整合vue项目,采用前后端分离开发,整合部署。
步骤如下:
(1)后台使用springboot开发
(2)使用vue init webpack vue_name创建vue项目,创建之后
使用cnpm run build打包vue项目,得到dist文件夹,dist文件下面的static与index.html
就是通过build得到的
(3)把第(2)步得到的dist文件夹下面的static文件夹与index.html一起复制到
springboot项目的static文件夹下面(结果为static文件夹下面有子static与index.html)。

启动的两种情况:
(1)在application.yml配置文件中没有添加context-path属性。
启动springboot项目
访问路径:http://localhost:9095就是可以访问index.html文件,后续登陆,跳转、加载数据库数据等等都没有问题。
总之一切正常。也就是说可以直接访问index.html,没有必要为index配置controller
(2)在application.yml配置文件中添加context-path属性,假设值为 /demo
访问路径:http://localhost:9095/demo 为什么就不能直接访问index.html文件呢。
请问各位大佬这是什么原因?大家有什么解决办法吗?望各位大佬不吝赐教。
小弟我跪谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • java_augur java_augur 3年前

    如果你看调试信息你会发现index.html页面实际已经加载,页面空白的原因在于css, js文件无法正常加载。
    这里需要在webpack打包时修改一个参数 /config/index.js 中assetsPublicPath: '/'修改为 ‘/demo/'

    除了这个问题,部署Vue项目到Spring Boot还会遇到其它问题,关于vue项目在Spring boot中部署常见问题解决方案我写了一篇博客,可以参考一下。
    https://blog.csdn.net/java_augur/article/details/84452696

    点赞 评论 复制链接分享
  • lcc13575450817 独眼的小熊 3年前

    是不是配置不对,你的springboot使用的时什么版本的。
    2.0以前的写法是:server.context-path
    2.0以后的是:server.servleet.conftext-path

    点赞 评论 复制链接分享