问题(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="/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中的首字母大写,就可以运行成功了
具体的原理我还是不太清楚,为什么这个会和大小写有关系呢