uni-app 初体验

初步使用了下 uni-app ,说一说体验。

uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。

开发者通过编写 Vue.js 代码,uni-app 将其编译到 iOS、Android、微信小程序等多个平台,保证其正>确运行并达到优秀体验。

uni-app 使用 Vue.js 的语法 + 微信小程序的 API,均为通用技术。 uni-app 借鉴整合了 Vue.js、mpvue 等前端开源框架。

同时,为保证微信小程序兼容,uni-app 还借鉴了微信小程序的组件规范。

初步使用了下由 DCloud 提供的 uni-app 框架,说下使用体验。最大的感受,就是和 mpvue 差不多,官方也说了:

uni-app 引用和改造了 mpvue 项目,感谢美团点评技术团队的贡献!

所以 mpvue 有的坑,uni-app 也有,当然也有更好(更差)的地方。

与 mpvue 的不同

脚手架是 HBuilder

uni-app 框架不能单独下载使用,必须配套使用 DCloud 提供的 HBuilder 编辑器,这款编辑器和 Notepad++ 差不多的类型,自身提供很多功能,但不支持第三方插件。然让我反感的是,他会加上右键菜单,还没有关闭的选项,即使手动删除,每次启动也会重新加上。

uni-app 的运行,配置只能通过这个编辑器,暴露出来的也没什么配置,基本上不能进行大改造,什么 postcss 是不能使用的,好比是旧版本的 vue-cli 默认配置。总之这个脚手架,很傻瓜,打开编辑器就能直接构建运行,连 npm i 都不需要,就是太不自由了,连环境变量都不能配置。

支持全局组件

mpvue 不支持全局组件,但 uni-app 支持,不过使用的过程中发现,与 vue 有些不同。

Vue.component 的第一个参数必须是字符串,不能是变量,即使这个变量指向字符串。第二个参数必须指向 .vue 文件,不能经过 .js 引入后导出。

页面文件只有 .vue

mpvue 的页面由一个 .vue.js 文件组成。但 uni-app 只有一个 .vue,没有 .js。mpvue 在调试的过程里如果新增的页面需要重启 webpack,而 uni-app 不需要。

npm 作用有限

uni-app 的 npm 就只用来安装第三方库。不过我在使用的过程,有报错,以致我最终完全没用到。