• Vue项目部署到线上页面空白


    最开始的时候直接什么都没有配置,打包了一个dist文件夹扔给后端,发现文件加载报错404,如下:

     发现在加载css文件和js文件的时候是不是从dist文件开始找的,这是因为默认会从index.html所在的硬盘的根目录下开始查找,自然无法找到。修改:

    configjs文件 publicPath: './',

    这时就不再是绝对路径的根目录了,而是改为了相对路径,同目录下进行查找。

    配置了文件后

    router文件夹下的index.js

    const router = new VueRouter({
      mode: 'history',
      base: process.env.BASE_URL,
      base:'/secops/nsoc/', //这个必配,是index.html所在的路径地址
      scrollBehavior:() => ({
        y:0
      }),
      routes
    })

    vue.config.js

        publicPath: './',// 修改路径,3.3起已经用publucPath代替了baseUrl
        assetsDir:'static',
        lintOnSave: true, // 在保存时校验格式
        productionSourceMap: false, // 生产环境是否生成 SourceMap

    如图:

     这次是可以获取到文件的正确路径但是页面还是空白不显示

    查看打包后的源代码

     发现组件并没有挂载到页面上

    我们的页面是使用路由来挂载的,那就是说路由出了问题,于是找资料,真是,,,,一路坎坷,终于在一篇文章中提到了和我的问题一样的这个解决方案

    https://blog.csdn.net/qq_32340877/article/details/79105032

    原因是我们的router使用的是history路由模式,这种模式在上线的时候要和后端配合使用,我们的后端并不知道这个怎么搞。。。。,于是我就改成了hash模式,果然问题解决了。

    路由文档

     

    不积跬步无以至千里
  • 相关阅读:
    Spring学习之旅(二)--容器
    Spring学习之旅(一)--初始Spring
    Logback的使用
    DES加解密工具类
    Lombok插件的使用
    from 表单用 GET 方法进行 URL 传值时后台无法获取问题
    组播
    linux头文件路径
    IANA
    6号板获取或放文件
  • 原文地址:https://www.cnblogs.com/lyt0207/p/12883064.html
Copyright © 2020-2023  润新知