为什么'vue$':'vue/dist/vue.js' 需要改成别的别名才会引用正确?
使用vue2.2.6 webpack打包后 警告
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
尝试用官方文档的解决方案
resolve:{
alias:{
'vue$':'vue/dist/vue.js'
}
}
依旧报错
Uncaught TypeError: Vue is not a constructor
于是把var Vue=require('vue') 修改成var Vue=require('vue').default
又报之前的错误,说明引用的js文件还是不正确
resolve:{
alias:{
'vuee$':'vue/dist/vue.js'
}
}
然后
var Vue=require('vuee');
new Vue({
el:'#app',
})
问题解决,但是我不明白vue的别名为什么不能使用。我在安装vue的时候是用npm install vue --save 的方式安装的,我想应该是node_modules模块引用的优先级高于webpack别名的优先级。
但是我的猜测没有任何依据,希望有人能解答我的疑惑。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
http://www.tuicool.com/articl...
vue$ 应该是特别的应用标志符,你使用后导致了冲突;其实这里的命名可以使用root@
直接引用不就行了
resolve:{