1. 前言
试用了一下 uniapp、vue2、vue3、typescript、vite、nvue 等技术,写了两个页面,两个页面加起来不到400行代码。
尝试使用了四种组合:
组合1:uniapp + vue2 + JavaScript + nvue文件 + 非fast模式
组合2:uniapp + vue2 + JavaScript + nvue文件 + fast模式
组合3:uniapp + vue3 + TypeScript + vue文件 + Vite + fast模式
组合4:uniapp + vue3 + TypeScript + nvue文件 + Vite + fast模式
注1:fast模式是指在 manifest.json 文件的 app-plus 节点下配置: "nvueLaunchMode" : "fast",
注2:组合3中fast模式应该是不起作用的,因为使用的是vue文件而不是nvue文件。
2. 测试结果对比
组合 | APP启动时间 | 补充说明 |
---|---|---|
组合1 | 1.17s | 早期的uniapp常见的组合 |
组合2 | 1.20s | 测试fast模式,并没有提升启动速度 |
组合3 | 1.45s | 测试typescript+vue3是否能写项目 |
组合4 | 未测试 | 项目在HBuilderX3.7.11上跑不起来 |
APP启动时间是指:通过dcloud渠道打成生产环境安装包后,从点击APP图标到出现第一个页面的时间。
3. 结论
还有很多测试组合没有尝试过,没有时间一一尝试了,就这四个组合已经耗了一天了~
本来我最想测试的就是组合4(uniapp + vue3 + TypeScript + nvue文件 + fast模式),可惜现在这个节点上(2023年5月26日),HBuilderX3.7.11上跑不起来,只能放弃了。【2023年5月26日晚上HBuilderX3.8.3版本发布了,重新测了一遍,还是不行】
对于新项目,目前推荐的组合是组合3:uniapp + vue3 + TypeScript + vue文件 + fast模式。
4. 补充说明
在这份文档中明确写了:
目前不支持在 nvue 页面使用 typescript/ts。
但在这份文档中又明确写了:
uni-app 的 vue3 模式:vue 文件及 nvue 文件均支持最新版 ts。
两个文档有矛盾的地方,亲测之后发现nvue文件确实不支持typescript(或者说虽然官方宣称支持,但是有bug导致项目跑不起来)。