uni-app | 从零创建一个新项目以及关于网络请求配置和分包

本文介绍了uni-app的开发背景和使用Vue.js编写跨平台应用的优势,详细讲解了如何使用HBuilderX创建uni-app项目并运行到微信开发者工具。此外,还涵盖了创建tabBar页面、自定义导航条样式以及配置网络请求的方法,推荐使用@escook/request-miniprogram处理小程序的网络请求。
摘要由CSDN通过智能技术生成

一、uni-app简介

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

二、开发工具

uni-app官方推荐使用HBuilderX来开发uni-app类型的项目。主要好处:

  • 模板丰富

  • 完善的智能提示

  • 一键运行

当然,你可以根据自身喜好来选择编辑器。

三、新建uni-app项目

    • 新建

文件-->新建-->项目

    • 填写基本信息

成功后的界面:

    • 把项目运行到微信开发者工具
3.1 填写自己的微信小程序的AppId
3.2 在HBuilderX中,配置“微信开发者工具”的安装路径
3.3 在微信开发者工具中,通过【设置】->【安全设置】面板,开启“微信开发者工具”的服务端口
3.4 在HBuilderX中,点击菜单栏中的【运行】->【运行到小程序模拟器】->【微信开发者工具】,将当前uni-app项目编译之后,自动运行到微信开发者工具中,从而 方便查看项目效果与调试

四、tabBar页面

4.1 创建tabbar页面(以商城为例)

在pages目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my)这4个tabBar页面,在HBuilderX中,可以通过如下的两个步骤,快速新建页面:

  1. 在pages目录上鼠标右键,选择新建页面

  1. 在弹出的窗口中,填写页面的名称勾选scss模板之后,点击创建按钮。

4.2 配置tabBar效果

修改项目根目录中的pages.json配置文件,新增tabBar的配置节点如下:

{
  "tabBar": {
    "selectedColor": "#C00000",
    "list": [
      {
        "pagePath": "pages/home/home",
        "text": "首页",
        "iconPath": "static/tab_icons/home.png",
        "selectedIconPath": "static/tab_icons/home-active.png"
      },
      {
        "pagePath": "pages/cate/cate",
        "text": "分类",
        "iconPath": "static/tab_icons/cate.png",
        "selectedIconPath": "static/tab_icons/cate-active.png"
      },
      {
        "pagePath": "pages/cart/cart",
        "text": "购物车",
        "iconPath": "static/tab_icons/cart.png",
        "selectedIconPath": "static/tab_icons/cart-active.png"
      },
      {
        "pagePath": "pages/my/my",
        "text": "我的",
        "iconPath": "static/tab_icons/my.png",
        "selectedIconPath": "static/tab_icons/my-active.png"
      }
    ]
  }
}
4.3 删除默认的index首页
  1. 在HBuilderX中,pages目录下的index首页文件夹删除掉

  1. 同时,把page.json中记录的index首页路径删除掉

  1. 为了防止小程序运行失败,在微信开发者工具中,手动删除pages目录下的index首页文件夹

  1. 同时,把components目录下的uni-link组件夹删除掉

4.4修改导航条的样式效果
  1. 打开pages.json这个全局的配置文件

  1. 修改globalStyle节点如下:

{
  "globalStyle": {
    "navigationBarTextStyle": "white",
    "navigationBarTitleText": "黑马优购",
    "navigationBarBackgroundColor": "#C00000",
    "backgroundColor": "#FFFFFF"
  }
}
创建一个新的uni-app项目基本已经介绍完了,下面就说一些我在做这个小程序和之前的小程序,新get到的一些快捷方法。

五、配置网络请求

由于平台的限制,小程序项目中不支持axios,而且原生的wx.request() API功能较为简单,不支持拦截器等全局定制的功能。因此建议在uni-app项目中使用【@escook/request-miniprogram】第三方包发起网络数据请求。

官方文档: https://www.npmjs.com/package/@escook/request-miniprogram

最终,在项目的main.js入口文件中,通过如下的方式进行配置:

import { $http } from '@escook/request-miniprogram'

uni.$http = $http
// 配置请求根路径
$http.baseUrl = 'https://www.uinav.com'

// 请求开始之前做一些事情
$http.beforeRequest = function (options) {
  uni.showLoading({
    title: '数据加载中...',
  })
}

// 请求完成之后做一些事情
$http.afterRequest = function () {
  uni.hideLoading()
}

六、配置小程序分包

分包可以减少小程序首次启动时的加载

为此,我们在项目中,把tabBar相关的4个页面放到主包中,其它页面(例如:商品详情页、商品列表页)放到分包中。在uni-app项目中,配置分包的步骤如下:

  1. 在项目根目录中,创建分包的根目录,命名为subkg

  1. 在pages.json中,和pages节点平级的位置声明subPackages节点,用来定义分包相关的结构

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app项目创建原生插件的步骤如下: 1. 在uni-app项目的根目录下,创建一个名为“plugin”的文件夹,然后在该文件夹下创建一个名为“HelloWorld”的文件夹(插件的名称可以根据实际情况进行修改)。 2. 在“HelloWorld”文件夹下,创建一个名为“unpackage”的文件夹,在该文件夹下创建一个名为“android”的文件夹。最终目录结构如下: ``` ├── plugin │ └── HelloWorld │ └── unpackage │ └── android ``` 3. 在“android”文件夹下创建一个名为“src”的文件夹,在该文件夹下创建一个名为“main”的文件夹,在“main”文件夹下创建一个名为“java”的文件夹。最终目录结构如下: ``` ├── plugin │ └── HelloWorld │ └── unpackage │ └── android │ └── src │ └── main │ └── java ``` 4. 在“java”文件夹下创建一个与插件名称相同的Java包(例如“com.example.helloworld”),然后在该包下创建一个名为“HelloWorldPlugin”的Java类,该类需要继承uni-app的“UniPlugin”类。最终目录结构如下: ``` ├── plugin │ └── HelloWorld │ └── unpackage │ └── android │ └── src │ └── main │ └── java │ └── com │ └── example │ └── helloworld │ └── HelloWorldPlugin.java ``` 5. 在“HelloWorldPlugin”类中实现需要暴露给uni-app的方法,例如: ```java public class HelloWorldPlugin extends UniPlugin { @Override public void onAppCreate() { } @Override public void onInit() { } @Override public void onDestroy() { } @UniJSMethod(uiThread = true) public void showToast(UniPluginCallBack callBack, String message) { Toast.makeText(getContext(), message, Toast.LENGTH_SHORT).show(); if (callBack != null) { callBack.onSuccess("success"); } } } ``` 6. 在“HelloWorld”文件夹下创建一个名为“manifest.json”的文件,该文件用于配置插件信息,例如: ```json { "name": "HelloWorld", "version": "1.0.0", "description": "HelloWorld plugin for uni-app", "main": "HelloWorldPlugin", "minPlatformVersion": "1.5.0" } ``` 7. 最后,需要重打包uni-app项目,然后将生成的插件文件(.jar和.aar文件)拷贝到原生安卓应用程序的libs文件夹下即可使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值