在排除一切代码问题后,就考虑vue和vue-template-compiler的版本适配问题
当 vue的版本大于 2.6.12
时,就会出现这种情况,由于 vue-template-compiler
需要与vue的版本同步
解决方案就是把 vue和vue-template-compiler的版本降低到 2.6.12 及以下即可。
注意当前项目package.json中 插件版本号不同写法 的含义
vue:"2..6.12" 匹配固定版本2..6.12
vue:"~2.16.12" 匹配更新到2.16.x的最新版本 前两位(2 16)固定,最后一位用最新的
vue:"^2.16.12" 匹配更新到2.x.x的最新版本 版本首位(2)固定,后面两位用最新的
当我们使用最新的Node运行‘npm instal --save xxx',的时候,他会优先考虑使用插入符号(^)而不是波浪符号(~)了。
这对于你来说意味这什么呢?首先我们需要理解这两者(~和^)的区别。
波浪符号(~):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:vue:~1.15.2,这个库会去匹配更新到1.15.x的最新版本,如果出了一个新的版本为1.16.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。
插入符号(^):这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。放到我们的例子中就是:bluebird:^3.3.4,这个库会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0。