vue 更新了vue-cli到最新版本后引发的问题: require和import、vue-loader的问题
2024-08-30 07:08:20
"vue-loader": "^12.1.0",
"vue-loader": "^12.1.0",
"vue-loader": "^12.1.0",
结局:vue-loader@13.X 降级到 vue-loader@12.X 即可解决
先来说一下export default 与 require 和 import 的关系
通过export default导出的,如果你使用import xxx from 'xxx' 就可以直接使用,但如果你使用require('xxx'),却需要xxx.default 来使用.
通过export default导出的,如果你使用import xxx from 'xxx' 就可以直接使用,但如果你使用require('xxx'),却需要xxx.default 来使用.
具体看一下这篇文章:http://www.cnblogs.com/CyLee/p/5836069.html
我们的*.vue 资源,都是用export default {} 来导出的。所以如果你使用require,必须搭配.default(),那为什么这里不需要.default() 就可以直接使用了呢?
https://github.com/ElemeFE/mint-ui/blob/master/packages/indicator/index.js
https://github.com/ElemeFE/mint-ui/blob/master/packages/indicator/index.js
我也一直正常使用,所以从来没有在意过。但今天忽然更新了vue-cli。发现有问题了。才意识到这个问题,怀疑是vue或者webpack的猫腻。
经过一系列搜索之后,发现是vue-loader的问题。vue-loader@13.X 降级到 vue-loader@12.X 即可解决。
思考过程应该是这样的:无论是require还是import,都是通过webpack来实现的。而webpack默认只拦截js文件,如果是其他类型的资源,就需要 xxxx-loader来处理,那么我们引入的是.vue文件,理所当然是vue-loader来处理的。
所以问题应该就出在vue-loader 身上。
说白了。前的require是当成import使用,而最新的vue-loader严格区分require 和 import。
但事实上,我一直都是严格区分。只是第三方的插件作者没有意识到这个问题。
最新文章
- Hibernate入门学习-安装hibernate插件
- Web 播放声音 — AMR(Audio) 篇
- ansible 自动化(1)
- jQuery Mobile学习之grid、等待显示的ajax效果、页面跳转、页面跳转传递参数等(二)
- 更新日志 - fir.im 回归,上线 Android Studio 插件
- paper 90:人脸检测研究2015最新进展
- 利用windows系统ftp命令编写的BAT文件上传[转]
- vs2010 更新jQuery智能提示包
- 《linux内核完全剖析》笔记03-进程创建
- netty入门篇(1)
- MacBook 最近发现的一些问题和技巧
- Android图片的Base64编码与解码
- Linux 进程中 Stop, Park, Freeze【转】
- localstorage 和 sessionstorage 是什么?区别是什么?
- 河南省第四届ACM省赛(T3) 表达式求值
- mysql 外键理解
- asp.net 网页拉伸 到300%不变形方法一
- linq group by / distinct
- neutron openvswitch + vxlan 通讯
- 腾讯云大数据套件Hermes-MR索引插件使用总结
热门文章
- Mysql innodb_fast_shutdown
- win10下安装scala
- 响应式web布局设计实战总结教程
- 【Java】 剑指offer(59-2) 队列的最大值
- ES6 中的 Map和Set
- Spring框架学习08——自动代理方式实现AOP
- 连接池commons-pool2
- bzoj4503: 两个串 bitset
- BZOJ.5120.[清华集训2017]无限之环(费用流zkw 黑白染色)
- BZOJ.3575.[HNOI2014]道路堵塞(最短路 动态SPFA)