Vue项目引入CDN后出现问题

Vue项目采用CDN引入依赖后,可能出现错误,如axios的catch函数失效。原因可能为CDN引入的依赖版本与本地不一致。解决办法是根据package.json中的版本信息调整CDN引用。此外,升级ElementUI到最新版可解决部分图标显示问题。

Vue项目发布后一般都会将本地的依赖包改为用CDN的形式引入,但是引入之后可能会出现各种问题,比如说我就遇到了Cannot read property 'catch' of undefined,这个catch应该是我在每个axios请求后面用以处理错误的捕获函数。在本地没有问题,为什么一用cdn就出现问题了呢?

稍加分析后我觉得可能是引入的cdn引入的依赖和本地的版本不太一样。
在vue项目文件夹(vue-cli3.x)下会有一个package.json,里面记录了项目用到的各种依赖以及版本信息,比如我的是这样的

//运行依赖
"dependencies": {
    "axios": "^0.19.1",
    "core-js": "^3.4.4",
    "echarts": "^4.7.0",
    "element-ui": "^2.4.5",
    "nprogress": "^0.2.0",
    "svgo": "^1.3.2",
    "vue": "^2.6.10",
    "vue-router": "^3.1.3"
  }

所以我们只需要按照这个json对象修改我们对应引入cdn的版本就可以了

	<link rel="stylesheet" href="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.css">
    <!-- element-ui 的样式表文件 -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/element-ui/2.13.0/theme-chalk/index.css">

    <script src="https://cdn.staticfile.org/vue/2.6.10/vue.min.js"></script>
    <script src="https://cdn.staticfile.org/vue-router/3.1.3/vue-router.min.js"></script>
    <script src="https://cdn.staticfile.org/axios/0.19.1/axios.min.js"></script>
    <script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script>
    <script src="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.js"></script>
    <!-- element-ui 的 js 文件 -->
    <script src="https://cdn.staticfile.org/element-ui/2.13.0/index.js"></script>

这样我的问题就解决了。

还有就是发现使用package.json中ElementUI的版本以后一部分icon无法正确显示了,因此我就将ElementUI替换为了最高版本。目前暂未发现问题

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值