Bootstrap

Uncaught ReferenceError: Vue is not defined 报错,页面空白

背景:

一个稳定的vue项目,突然链接打不开了,页面空白,打开控制台发现报错

GET https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js net::ERR_ABORTED 503

Vue is not defined

推测原因:

我这个vue项目是个多页面应用,每个html都引用了外部链接

<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script>

<script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.6/index.js"></script>

当时推测了以下几个原因

1:服务器有问题(检查后正常)

2:引用的vue版本(2.6.14)和下载的vue包版本(2.6.11)不一致(同事说不影响)

3:引入的CDN地址不对或者已经停用(排查后发现地址没问题,可以访问)

4:vue.config.js配置问题(没毛病,就是以下写法)

externals: {
    'vue': 'Vue',
    'element-ui': 'ELEMENT'
},

原因:

bootcdn网站响应延迟导致网站无法访问,等cdn网站正常响应,便能够正常访问了

解决办法: 

为了稳定性,把外部引用改成本地引用。

直接在Vue.js官网上下载vue.js文件,并通过<script>标签本地引用

<script src="./vue.min.js"></script>

;