最近项目将vue2.x 升级到了vue3.x了,这本来是可以简化很多配置吧,好事。但是,升级之后也会面临很多2.x没遇到的问题,这里做个总结吧。

1.vue3.x打包使用的是webpack4.x版本了(之前用的是webpack3.x),webpack4.x对代码规范更加严谨了。举个例子:

	a = 10;

以上代码使用webpack3.x打包时会自动补全变量声明,但是,webpack4.x罢工了,不会帮你这么干了。如果有小伙伴用到rsa加密代码的升级了就应该能遇到,里面多处result变量是没有声明的,导致升级后一直报错。

2.浏览器版本不兼用:Object.getOwnPropertyDescriptors
首先说下Object.getOwnPropertyDescriptors是ES2017的新特性,兼容性如下:

在这里插入图片描述
执行代码会一直报错Object.getOwnPropertyDescriptors is not a function.页面出现空白。这是因为vue3.x使用了这个新特性。
解决办法:
package.json文件中加上一下代码:

"keywords": [
	"ecmascript",
	"object",
	"test262",
	"getownpropertydescriptors",
	"Object.getOwnPropertyDescriptor",
	"Object.getOwnPropertyDescriptors"
]

效果如下:(既然是分享的话尽量写得一目了然,别人一下就能看懂的那种,太善良了,有木有,哈哈)
在这里插入图片描述
3.vue 遇到 element ui
我们项目使用的是vue + element ui ,这其中有个细节也是坑。遇到了我去查资料是没发现有踩过的。
升级之前vue2.x + element ui 2.6.3,这组合没问题,但是,升级vue到3.x之后,问题出现了,原来所有的input框输入中文时会自动填充拼音一起到输入框,类似:假如我输入中国=》输入框里面的内容就是zhongguo中国。
解决办法:升级element ui ,我们是升级到了2.9.2就ok了。

这次采坑就分享到这了。

Logo

前往低代码交流专区

更多推荐