问题(Uncaught ReferenceError: vue is not defined)和解决方法
今天本来想重新开始学习vue,做一个小项目的,但是在一开始就遇到问题了,确实是我自己在学习的时候不够扎实的原因,来记录一下错误(Uncaught ReferenceError: vue is not defined)
这个是我的原始错误代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<p>{{ msg }}</p>
</div>
<script>
var vm = new vue({
el: '#app',
data: {
msg: '为什么出不来'
},
methods: {
}
})
</script>
</body>
</html>
然后运行到浏览器,就报错了,哭泣
开始百度,找到的答案说的都是 script 标签的顺序问题搞错了,应该把要引入的vue的 script 放到头部文件里面,但是我的代码确实是在头部,顺序也是没有问题的
在HTML导入外部js时,有两种选择,一种是将js放在head体中,一种是将js放在body体中。
如果将其放在head中,则js会在被调用时才执行。
如果将其放在body中,则js会在页面加载时被执行。
然后在想,该不会是引入的js的问题吧,我用的是vue外部的js,因为引入的话有两种方式,一个是工程里面的,一个是外部的,不过引入外部网络提供的vue的js文件,最好使用离服务器较近的cdn(内容分发网络)的vue.js
因为是小项目,我也没有下载,一直是用外部的链接,换了几个网址吧,感觉也不是这个问题
最后我还是发现了问题,给我找出来了,就是一个很小很小的细节,就是要把实例化的vue中的首字母大写,就可以运行成功了
具体的原理我还是不太清楚,为什么这个会和大小写有关系呢