Vue-router自动写入路由编译后无法访问线上地址

在使用Vue-router时,我使用require.context的方法实现自动写入路由,代码如下

 

在本地是没有任何问题的,但是当我build之后,将dist文件上传至服务器后,无法访问路由,报错如下

 

debugger找到报错的地方如下

 

我猜测是编译的问题,但是找不到解决的办法,希望有大手子看到能为我答疑解惑一下,感激不尽

 

我测试了一下,如果将push到routes里的对象直接写死在new Route里,是没有问题的。。那么问题来了,到底是啥问题,求赐教

这句话不对

你鼠标放入叉上面,错误信息发我一下

看一下这个例子,望采纳,谢谢

老套路,先说出现这种问题的原因:

在做vue项目时,如果我们在组件中需要一个变量,哪怕这个变量最开始是没值的,我们也必须先在data中注册这个变量;

只有这样,我们的这个变量才能是响应式的,不然就失去了响应式的功能;

问题就在这里,好多人(也包括我自己)的习惯就是写变量的值等于’’(空)或者null;

map和foreach方法只能对数组或者类数组进行遍历,如果不是数组就会报错,很明显我们的初始值不是一个数组;

解决办法
其实很简单,在vue组件中注册变量的初始化值时不要随意的写一个空或者null,让他等于[](空数组)就可以了;

例子:

data() {
    return {
    // 如果这个值在后面是当做一个数组使用,并且需要去遍历的时候需要这样写
      value: [] 
    }
  }
 

index.js 17行代码是什么

你的文件夹目录只有一级嘛?

 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m