手把手带你快速上手uni-app项目

uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台,解决了多个平台,分别需要些多套代码,开发效率低,开发成本高的问题。

uni-app一套代码,可以编到七个平台,平台如下:android, ios, H5, 微信小程序,支付宝小程序,百度小程序,头条小程序。

uni-app在跨端数量、扩展能力、性能体验、周边生态、学习成本、开发成本等6大关键指标上拥有极强的竞争优势。那么,我们该如何运用呢?

 

01、创建uni-app

快速上手uni-app的方式有两种。

第一,可以通过HBuilderX可视化界面。

第二,可以通过vue-cli命令行两种方式快速创建项目。

在点击工具栏里的文件 -> 新建 -> 项目:

手把手带你快速上手uni-app项目_第1张图片

选择uni-app类型,输入工程名,选择模板,点击创建,即可成功创建。

uni-app自带的模板有 Hello uni-app ,是官方的组件和API示例。还有一个重要模板是 uni ui项目模板,日常开发推荐使用该模板,已内置大量常用组件。

手把手带你快速上手uni-app项目_第2张图片

 

02、运行uni-app

  1. 浏览器运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到浏览器 -> 选择浏览器,即可在浏览器里面体验uni-app 的 H5 版。

    手把手带你快速上手uni-app项目_第3张图片

  2. 真机运行:连接手机,开启USB调试,进入hello-uniapp项目,点击工具栏的运行 -> 真机运行 -> 选择运行的设备,即可在该设备里面体验uni-app。

    手把手带你快速上手uni-app项目_第4张图片

    如手机无法识别,请点击菜单运行-运行到手机或模拟器-真机运行常见故障排查指南。注意目前开发App也需要安装微信开发者工具。

  3. 在微信开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 微信开发者工具,即可在微信开发者工具里面体验uni-app。

    手把手带你快速上手uni-app项目_第5张图片

    注意:如果是第一次使用,需要先配置小程序ide的相关路径,才能运行成功。如下图,需在输入框输入微信开发者工具的安装路径。若HBuilderX不能正常启动微信开发者工具,需要开发者手动启动,然后将uni-app生成小程序工程的路径拷贝到微信开发者工具里面,在HBuilderX里面开发,在微信开发者工具里面就可看到实时的效果。

    uni-app默认把项目编译到根目录的unpackage目录。

  4. 在支付宝小程序开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 支付宝小程序开发者工具,即可在支付宝小程序开发者工具里面体验uni-app。

    手把手带你快速上手uni-app项目_第6张图片

  5. 在百度开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 百度开发者工具,即可在百度开发者工具里面体验uni-app。

    手把手带你快速上手uni-app项目_第7张图片

  6. 在字节跳动开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 字节跳动开发者工具,即可在字节跳动开发者工具里面体验uni-app。

    手把手带你快速上手uni-app项目_第8张图片

  7. 在QQ小程序开发工具里运行:内容同上,不再重复。

Tips

  • 如果是第一次使用,需要配置开发工具的相关路径。点击工具栏的运行 -> 运行到小程序模拟器 -> 运行设置,配置相应小程序开发者工具的路径。

  • 支付宝/百度/字节跳动小程序工具,不支持直接指定项目启动并运行。因此开发工具启动后,请将 HBuilderX 控制台中提示的项目路径,在相应小程序开发者工具中打开。

  • 如果自动启动小程序开发工具失败,请手动启动小程序开发工具并将 HBuilderX 控制台提示的项目路径,打开项目。

运行的快捷键是Ctrl+r。HBuilderX 还提供了快捷运行菜单,可以按数字快速选择要运行的设备:

手把手带你快速上手uni-app项目_第9张图片

03、发布uni-app

在HBuilderX工具栏,点击发行,选择原生app-云端打包,如下图:

手把手带你快速上手uni-app项目_第10张图片

出现如下界面,点击打包即可。

手把手带你快速上手uni-app项目_第11张图片

 

4、uni-app调试

1、使用 Chrome 调试

进入 uni-app 项目,点击工具栏的运行 -> 运行到浏览器 -> 选择 Chrome,即可将 uni-app运行到 浏览器,可参考 运行uni-app,运行到浏览器后,就能和普通 web 项目一样进行预览和调试了。

注意:Chrome调试只能保证样式一致,部分原生能力是不支持的。点 Chrome 控制台的 Sources 栏,可以给 js 打断点调试。

在 Page 下找到 webpack 里的工程目录,可直接找到对应的vue页面进行断点调试;或按 Ctrl+P搜文件名,进入页面调试;也可点击控制台的 log 信息,进入对应的页面进行调试。

手把手带你快速上手uni-app项目_第12张图片

手把手带你快速上手uni-app项目_第13张图片

2、使用微信web开发者工具调试

uni-app 运行到微信web开发者工具,可在控制台查看 console 信息,网络请求等信息等。

注意:开发App或微信小程序均可使用微信开发者工具进行调试。

页面样式调试和一般的web项目一样,通过调试的箭头选中元素即可查看相应的节点和样式,如下图:

手把手带你快速上手uni-app项目_第14张图片

调试 js 时需要切换到 Sources 栏,选中想要调试的那个页面的js,进行调试(如果js代码是压缩过的,点击右下角的{}可格式化代码),如下图:

手把手带你快速上手uni-app项目_第15张图片

 

05、发布为小程序

a、发布为微信小程序:

  1. 申请微信小程序AppID,参考:微信教程。

  2. 在HBuilderX中顶部菜单依次点击 "发行" => "小程序-微信",输入小程序名称和appid点击发行即可在 unpackage/dist/build/mp-weixin 生成微信小程序项目代码。手把手带你快速上手uni-app项目_第16张图片

  3. 在微信小程序开发者工具中,导入生成的微信小程序项目,测试项目代码运行正常后,点击“上传”按钮,之后按照 “提交审核” => “发布” 小程序标准流程,逐步操作即可。

b、发布为百度小程序:

  1. 入驻小程序并申请百度小程序AppID。

  2. 在HBuilderX中顶部菜单依次点击 "发行" => "小程序-百度",输入小程序名称和appid点击发行即可在 /unpackage/dist/build/mp-baidu 生成百度小程序项目代码。手把手带你快速上手uni-app项目_第17张图片

  3. 在百度小程序开发者工具中,导入生成的百度小程序项目,测试项目代码运行正常后,点击“上传”按钮上传代码,之后在百度小程序的 管理中心 选择创建的应用点击前往发布,选择对应的版本然后提交审核。

c、发布为支付宝小程序:

  1. 入驻支付宝小程序。

  2. 在HBuilderX中顶部菜单依次点击 "发行" => "小程序-支付宝",即可在 /unpackage/dist/build/mp-alipay 生成支付宝小程序项目代码。

    手把手带你快速上手uni-app项目_第18张图片

  3. 在支付宝小程序开发者工具中,导入生成的支付宝小程序项目,测试项目代码运行正常后,点击“上传”按钮上传代码,在 支付宝小程序后台,选择刚提交的版本点击提交审核,详见:支付宝小程序文档。

d、发布为字节跳动小程序:

  1. 入驻字节跳动小程序,参考:字节跳动小程序教程。

  2. 在HBuilderX中顶部菜单依次点击 "发行" => "小程序-字节跳动",即可在 /unpackage/dist/build/mp-alipay 生成字节跳动小程序项目代码。

    手把手带你快速上手uni-app项目_第19张图片

  3. 在字节跳动小程序开发者工具中,导入生成的字节跳动小程序项目,测试项目代码运行正常后,点击“上传”按钮上传代码,在 字节跳动小程序后台,选择刚提交的版本点击提交审核,详见:字节跳动小程序文档。

e、发布为QQ小程序: 内容同上,不再重复。

发布的快捷键是Ctrl+u。同样可拉下快速发布菜单并按数字键选择。

 

06、通过vue-cli命令行

除了可视化界面,也可以使用 cli 脚手架,可以通过 vue-cli 创建 uni-app 项目。

注意:

  • vue-cli 版本必须是3.x

  • cli 版本更新快于HBuilderX正式版。HBuilderX正式版所包含的uni-app编译器一般是在cli版发布一段时间并稳定后才会更新到HBuilderX正式版。cli版适合喜欢鼓捣的尝鲜者,其好处是可以及时获取新功能,坏处是稳定性不如HBuilderX正式版,但因为开源,所以也欢迎开发者一起完善。

环境安装

全局安装vue-cli

npm install -g @vue/cli

 

创建uni-app

vue create -p dcloudio/uni-preset-vue my-project

此时,会提示选择项目模板,初次体验建议选择 hello uni-app 项目模板,如下所示:

手把手带你快速上手uni-app项目_第20张图片

自定义模板

选择自定义模板时,需要填写 uni-app 模板地址,这个地址其实就是托管在云端的仓库地址。以 GitHub 为例,地址格式为 userName/repositoryName,如 dcloudio/uni-template-picture 就是下载图片模板。

 

运行并发布uni-app

npm run dev:%PLATFORM% npm run build:%PLATFORM%

%PLATFORM% 可取值如下:

平台

h5

H5

mp-alipay

支付宝小程序

mp-baidu

百度小程序

mp-weixin

微信小程序

mp-toutiao

头条小程序

其他:

  • 目前使用npm run build:app-plus会在/dist/build/app-plus下生成app打包资源。如需制作wgt包,请以该项目的appid(参见manifest.json文件中的appid)命名新建文件夹,将app-plus中的文件复制到文件夹中,然后压缩成zip,再修改后缀为wgt

  • dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/目录,打开各平台开发工具选择对应平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);

  • build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;

  • dev 和 build 模式的区别:

    1. dev 模式有 SourceMap 可以方便的进行断点调试;

    2. build 模式会将代码进行压缩,体积更小更适合发布为正式版应用;

    3. 进行 环境判断 时,dev 模式 process.env.NODE_ENV 的值为 development,build 模式 process.env.NODE_ENV 的值为 production。

cli和HBuilderX创建项目有什么区别

编译器的区别:

  • cli创建的项目,编译器安装在项目下。并且不会跟随HBuilderX升级。如需升级编译器,执行npm update

  • HBuilderX可视化界面创建的项目,编译器在HBuilderX的安装目录下的plugin目录,随着HBuilderX的升级会自动升级编译器。

  • 已经使用cli创建的项目,如果想继续在HBuilderX里使用,可以把工程拖到HBuilderX中。注意如果是把整个项目拖入HBuilderX,则编译时走的是项目下的编译器。如果是把src目录拖入到HBuilderX中,则走的是HBuilderX安装目录下plugin目录下的编译器。

  • cli版如果想安装less、scss、ts等编译器,需自己手动npm安装。在HBuilderX的插件管理界面安装无效,那个只作用于HBuilderX创建的项目。

开发工具的区别:

  • cli创建的项目,内置了d.ts,同其他常规npm库一样,可在vscode、webstorm等支持d.ts的开发工具里正常开发并有语法提示。

  • 使用HBuilderX创建的项目不带d.ts,HBuilderX内置了uni-app语法提示库。如需把HBuilderX创建的项目在其他编辑器打开并且补充d.ts,可以在项目下先执行 npm init,然后npm i @types/uni-app -D,来补充d.ts。

  • 但vscode等其他开发工具,在vue或uni-app领域,开发效率比不过HBuilderX。

  • 发布App时,仍然需要使用HBuilderX。其他开发工具无法发布App,但可以发布H5、各种小程序。如需开发App,可以先在HBuilderX里运行起来,然后在其他编辑器里修改保存代码,代码修改后会自动同步到手机基座。

  • 如果使用cli创建项目,那下载HBuilderX时只需下载10M的标准版即可。因为编译器已经安装到项目下了。

uni-app开发遇到的问题汇总

  • Q1、嵌入原生中样式错乱。

  • Q2、对于Android支持不太好,H5项目在Android中会有兼容性问题。

  • Q3、uniapp在assets中文件命名受限。

  • Q4、uniapp中运行H5不能使用cookie。

  • Q5、小程序不支持本地HTML。

  • Q6、个人类型与海外类型的小程序暂不支持使用web-view。

 

07、总结

按照官网给出的说法是,学习成本非常低的,但对比我个人,我觉得还是有成本的,至少要理解其中的概念,才能更愉快的上手项目。

需要熟练掌握至少以下知识点

  • Vue的语法,至少要知道如何创建文件、怎样绑定数据、怎样通讯、如何绑定事件、怎样通过绑定数据刷新页面。我虽然没有做过vue的项目,但是好在我有看过vue文档,并练习了官网的例子。否则,在运行这个项目之前我得花不少时间去vue官网学习vue~

  • 微信小程序相关知识。同样的,如果完全没有看过微信小程序相关知识,同样会遇到问题,尤其是后续开发会用到微信小程序API

  • css3、flex布局、ES6、打包、发布、模块化开发等等。相关的知识点,都需要学习、强化。

可以发现,通过uni-app,就将目前主流的技术全都链接起来了。这样的好处是非常多的。

你可能感兴趣的:(小程序资讯)