前言
我相信,大家之所以会使用uniapp,主要还是因为图他的“方便”。
我们只需要学习vue的语法,就可以同时开发当前所有的移动端程序。
并且还拥有较为集中的插件市场,市面上也提供了不少免费的组件库 比如 colorUI , uview。
这样看来,他简直就是开发人员的福音(特别是后端开发人员)。
但是正如那句话说的那样,世界上并没有银弹。
虽然uniapp一直的宣传语就是,“一次开发”便可以生成不同端的程序“,但是世界上却没有那么美好的事,至少在笔者当前编写的时候。没有那么完美。
那么假设屏幕前的你,希望通过uniapp做一些项目的时候,那么你就必须先提前知道一下这些事
uniapp
1. uniapp能“完美解决”的都是普见项目
首先什么是普见项目,简单的说,当你想到课程设计的时候。一般都会做什么?
电商,外卖
只有这些最普通的项目, uniapp才有可能让你并不是完全放心。
如果不是这些项目,那么你可能就需要多张一点心眼了
2. uniapp 组件完美“适配”的优先级
- H5 ( 网页)
- APP
- 小程序
虽然你看上去,uniapp支持的小程序是一大堆,花里胡哨。
但是,小程序会搞事的可能性是最大的
因此,如果你的项目如果是在微信小程序 , 并且你知道一个比较好的组件库。
直接微信小程序上开发吧,放自己一马
3 不要轻易的相信内部浏览器运行的结果,多在对应的模拟器调试
uniapp 上的内置浏览器是 h5环境
但是,有些组件却不是百分百适配的 , 比如说 map 组件 , 以及一些 css样式。
你可能在 h5上是这样 , 在 微信小程序上却是那样
多看看 , 挺好
4. 如果你遇上视图更新不同步了怎么办
// 视图更新
this.$forceUpdate()
当你发现自己的程序在有的环境上会更新(比如说内部环境)
在另外的环境却不更新数据(比如说实际环境)
那么上面那行代码会对你有所帮助
5. 微信小程序直接在文件下引用组件可能会出现错误
大家最好在 main.js 文件下加载组件,不能你可能会发现你的引入的主键样式,变形,并且完全不能用。
示例代码
import myList from '@/components/my-list.vue'
Vue.component('my-list',myList)
unicloud
1 文档不足
unicloud最大的问题便是他的文档并不是十分的完善
个人认为他的文档只能解决百分之三十问题,还是基本上最简单的问题。
再加上使用它的人并不是十分的多。因此,只要你遇上了高深一点的问题, 文档里如果也找不到,那么你就基本上没辙了。
因此,如果你的项目满足一下任意一点,请放弃使用unicloud , 保护你的时间和美好的情绪
- 拥有属于自己的一台服务器,并且服务器相对稳定。速度在一个合理的区间
- 你的业务十分的复杂, 需要对网关,路由等等进行处理。业务不单单只是简单的一次到两次增删改查
本文介绍了uniapp在开发过程中可能遇到的问题,包括uniapp在处理普通项目时的表现、组件适配优先级、内部浏览器与实际环境的差异、视图更新同步问题以及微信小程序组件引用的注意事项。同时,文章提到了unicloud的文档不足,可能不适合处理复杂业务场景。

被折叠的 条评论
为什么被折叠?



