uni-app的学习

  1. 什么是uni-app
    是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。

  2. 为什么要用uni-app开发(优势)
    在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。

  3. uni-app的功能框架
    uni-app的学习_第1张图片

  4. uni-app的优点
    实现了一套代码,同时运行到多个平台(下图所示一套代码,同时运行到iOS模拟器、Android模拟器、H5、微信开发者工具、支付宝小程序Studio、百度开发者工具、字节跳动开发者工具、QQ开发者工具(底部8个终端选项卡代表8个终端模拟器):

    实现效果如下图:

  5. 创建项目
    1. 通过 HBuilderX 可视化界面:
    (1)创建uni-app
    在点击工具栏里的文件 -> 新建 -> 项目:
    uni-app的学习_第2张图片
    (2)运行uni-app(快捷键Ctrl+r):
    浏览器运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到浏览器 -> 选择浏览器,即可在浏览器里面体验uni-app 的 H5 版。
    uni-app的学习_第3张图片

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

    在微信开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 微信开发者工具,即可在微信开发者工具里面体验uni-app(微信,支付宝,百度,字节跳动都是在此步骤下完成运行)。
    uni-app的学习_第5张图片
    注意事项:
    (1.如果是第一次使用,需要配置开发工具的相关路径。点击工具栏的运行 -> 运行到小程序模拟器 -> 运行设置,配置相应小程序开发者工具的路径。
    (2.支付宝/百度/字节跳动小程序工具,不支持直接指定项目启动并运行。因此开发工具启动后,请将 HBuilderX 控制台中提示的项目路径,在相应小程序开发者工具中打开。
    (3.如果自动启动小程序开发工具失败,请手动启动小程序开发工具并将 HBuilderX 控制台提示的项目路径,打开项目。
    3)发布uni-app
    打包为原生APP(云端)
    在HBuilderX工具栏,点击发行,选择原生app-云端打包,如下图:
    uni-app的学习_第6张图片
    uni-app的学习_第7张图片
    打包为原生APP(离线)
    支持离线打包,在 HBuilderX 生成离线打包资源,然后参考 离线打包(或参考其他用户写的 离线打包日记),即可进行离线打包。
    在HBuilderX工具栏,点击发行,选择本地打包,如下图,点击即可生成离线打包资源。
    uni-app的学习_第8张图片
    发布为h5:
    在 manifest.json 的可视化界面,进行如下配置(发行在网站根目录可不配置应用基本路径):
    uni-app的学习_第9张图片

在HBuilderX工具栏,点击发行,选择网站-H5手机版,如下图,点击即可生成 H5 的相关资源文件,保存于 unpackage 目录。
uni-app的学习_第10张图片

发布为小程序:
uni-app的学习_第11张图片
注:小程序的发布方式基本都一样

  1. ** 通过vue-cli命令行**
    环境安装
    全局安装vue-cli
    npm install -g @vue/cli

    创建uni-app
    使用正式版(对应HBuilderX最新正式版)
    vue create -p dcloudio/uni-preset-vue my-project

    使用alpha版(对应HBuilderX最新alpha版)
    vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project

    此时,会提示选择项目模板,初次体验建议选择 hello uni-app 项目模板,如下所示:
    uni-app的学习_第12张图片
    自定义模板
    选择自定义模板时,需要填写 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 头条小程序
    mp-qq qq小程序

    其他:
    1.dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/目录,打开各平台开发工具选择对应平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);
    2.build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;
    3.dev 和 build 模式的区别:
    (1)dev 模式有 SourceMap 可以方便的进行断点调试;
    (2)build 模式会将代码进行压缩,体积更小更适合发布为正式版应用;
    (3)进行 环境判断 时,dev 模式 process.env.NODE_ENV 的值为 development,build 模式 process.env.NODE_ENV 的值为 production。

  2. 创建项目时使用cli创建项目和使用HBuilderX可视化界面创建项目有什么区别
    编译器的区别:
    (1)cli创建的项目,编译器安装在项目下。并且不会跟随HBuilderX升级。如需升级编译器,执行npm update。
    (2)HBuilderX可视化界面创建的项目,编译器在HBuilderX的安装目录下的plugin目录,随着HBuilderX的升级会自动升级编译器。
    (3)已经使用cli创建的项目,如果想继续在HBuilderX里使用,可以把工程拖到HBuilderX中。注意如果是把整个项目拖入HBuilderX,则编译时走的是项目下的编译器。如果是把src目录拖入到HBuilderX中,则走的是HBuilderX安装目录下plugin目录下的编译器。
    (4)cli版如果想安装less、scss、ts等编译器,需自己手动npm安装。在HBuilderX的插件管理界面安装无效,那个只作用于HBuilderX创建的项目。

    开发工具的区别
    (1)cli创建的项目,内置了d.ts,同其他常规npm库一样,可在vscode、webstorm等支持d.ts的开发工具里正常开发并有语法提示。
    (2)使用HBuilderX创建的项目不带d.ts,HBuilderX内置了uni-app语法提示库。如需把HBuilderX创建的项目在其他编辑器打开并且补充d.ts,可以在项目下先执行 npm init,然后npm i @types/uni-app -D,来补充d.ts。
    (3)但vscode等其他开发工具,在vue或uni-app领域,开发效率比不过HBuilderX。详见:https://ask.dcloud.net.cn/article/35451
    (4)发布App时,仍然需要使用HBuilderX。其他开发工具无法发布App,但可以发布H5、各种小程序。如需开发App,可以先在HBuilderX里运行起来,然后在其他编辑器里修改保存代码,代码修改后会自动同步到手机基座。
    (5)如果使用cli创建项目,那下载HBuilderX时只需下载10M的标准版即可。因为编译器已经安装到项目下了。

  3. uni-app生命周期
    应用生命周期
    uni-app 支持如下应用生命周期函数:
    uni-app的学习_第13张图片
    注意
    应用生命周期仅可在App.vue中监听,在其它页面监听无效。

    onlaunch里进行页面跳转,如遇白屏报错,请参考https://ask.dcloud.net.cn/article/35942

页面生命周期
uni-app 支持如下页面生命周期函数:
uni-app的学习_第14张图片

你可能感兴趣的:(uni-app的学习)