javascript - vue组件化部署到服务器router-view里边的内容为空

 低调pasta_730 发布于 2022-11-15 11:11

使用vue-cli脚手架搭建的项目,本地都没有什么问题,执行npm run build压缩后把dist文件夹丢到服务器,控制台可以看到js和css都进来了并无报错,但是首页index.html里的router-view里的内容为空。如果只把dist里边内容放在根目录,没有嵌套dist这个文件夹的话又是可以的,一直想不通啊,请大神指点一二。

这是首页的index.html的内容,js和css路径保证无错都是进来了,没有报错就是router-view里边的内容为空



    
    
    



        
    

这个是我的main.js文件
import Vue from 'vue';//加载vue.js
// import Vuex from 'vuex';//组件之间的通信
import VuexStore from './vuex/store' ;//vuex状态管理,组件之间的通信
import VueRouter from 'vue-router' ;//加载vue-router.js路由
import RouterConfig from './router' ;//加载vue-router的定义文件

Vue.use(VueRouter);//使用路由插件
//路由器需要创建一个根实例
const App = Vue.extend({

data(){
    return {
        siteTitle:'首页'
    }
}

}) ;

//创建一个路由器实例
const router = new VueRouter({

hashbang:false,//去除#!开头
transitionOnload:false,//初次加载的时候是否对处理场景切换效果
history:true,//是否开启html5模式,去掉锚点
saveScrollPosition:false //记住页面的滚动位置 html5模式适用

});

//定义路由规则
router.map(RouterConfig);
//路由器重定向,此指令会将任意未匹配路径到 404页面
router.redirect({
// '*': '/error'
});

//路由会创建一个实例,挂载到相应的选择符匹配元素上
router.start(App,'html');

3 个回答
  • 部署代码本来就只需要部署dist目录下的文件,而不是将整个dist目录上传

    2022-11-15 13:09 回答
  • 纠结了我两天天,我自己试了好多次,也算是找到了解决方案。
    这个dist连同文件夹丢到根目录的话,访问dist的路径就变成了xxx.com/dist,这个dist路径是不存在的,因为路由并没有设置,所以会默认是没有东西的,自然就没有东西了。
    我在那个地方放了一个router-view标签,以为是它没有起作用,其实不是。是因为如果按照这个路由路径是根本不存在的。
    最好的方案就是设置路由重定向,如下

    router.redirect({
      '*': '/error',//404页面
      '/dist':'/'
    });
    2022-11-15 13:09 回答
  • 我也遇到这个问题了,我只能把index.html放根目录了

    2022-11-15 13:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有