Uniapp 开发 ①(快速上手)

这篇具有很好参考价值的文章主要介绍了Uniapp 开发 ①(快速上手)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uniapp 开发,UNI-APP,uni-app,前端,vue.js

@作者 : SYFStrive

 
uniapp 开发,UNI-APP,uni-app,前端,vue.js

@博客首页 : HomePage

📜: UNIAPP开发

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗

💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞

uniapp 开发,UNI-APP,uni-app,前端,vue.js
uniapp 开发,UNI-APP,uni-app,前端,vue.js

👉 微信小程序(🔥)
👉 UNIAPP开发(🔥)

前言

现在,越来越多的人逐渐接受使用TypeScript开发Vue项目的方式。同时,Uni-app作为跨平台开发框架变得越来越受欢迎。Vue3也上市了,提供了许多有用的新功能。Vite是对现代化前端工具的新尝试,它提供了一种新的打包方式,与webpack不同,它使用了浏览器本身更简单的javascript导入。本文将基于Unu-app、Vue3、TypeScript和Vite为基础,搭建一项目。

所需NPM包

npm install axios sass node-sass vuex @dcloudio/uni-ui
npm install axios sass node-sass pinia @dcloudio/uni-ui

@dcloudio/uni-ui 配置easycom

官方连接 : https://uniapp.dcloud.net.cn/co
说明 :使用 npm 安装好 uni-ui 之后,需要配置 easycom 规则,让 npm 安装的组件支持 easycom

// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 规则如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},
	
	// 其他内容
	pages:[
		// ...
	]
}

uniapp 开发,UNI-APP,uni-app,前端,vue.js

使用官方提供的CLI模板

安装和初始化UNIAPP

  1. 首先,我们需要安装uni-app。可以使用以下命令进行安装 👇

命令 npm install -g @vue/cli

  1. 接下来,我们通过Vue CLI创建一个基于uni-app的项目:

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

这里可能报错,需要把 github uni-preset-vue 下载到本地然后替换 👇
uni-preset-vue 地址 : https://github.com/dcloudio/uni-preset-vue
替换的路劲 :vue create -p D:\uni-preset-vue my-project
参考官方 : https://uniapp.dcloud.net.cn/quickstart5

uniapp 开发,UNI-APP,uni-app,前端,vue.js

网络请求Promise化封装

1. 文件目录规范

uniapp 开发,UNI-APP,uni-app,前端,vue.js

2. 封装请求拦截器

封装请求拦截器 ~ 代码演示

// 引入axios
import axios from "axios";

let requests = axios.create({
	//基础路径
	baseURL: "/api",
	//请求不能超过3S
	timeout: 3000,
});

// 请求拦截器
requests.interceptors.request.use((config) => {
	config.header = {}
	return config
}, error => { // 可使用async await 做异步操作
	return Promise.reject(error)
})

// 响应拦截器
requests.interceptors.response.use((res) => {
	if (response.data.code === 200) {
		// XXX
	} else if (response.data.code === 401) {
		// XXX
		return Promise.reject(response.data)
	}else{
		// XXX
		return Promise.reject(response.data)
	}
	return res.data
}, error => {
	return Promise.reject(error)
})
export default requests;

3. 使用 API

使用 ~ 代码演示

// 引入request ajax请求
import requestsAjax from "./Ajax/ajax";

// 获取数据
export const GetData = () => {
    return requestsAjax({ url: '地址', method: '请求方式' })
}

Vue3 将数据挂载上全局对象 And 获取全局对象数据

~ 注意 支持H5,不支持小程序

  • 这里我单独创建了脚本用于挂载全局数据 RegisterGlobalData

专门用来注挂载全局数据脚本 ~ 代码演示

import axios from "axios";
import * as echarts from 'echarts'
import mitt from 'mitt'

const GlobalObj = {
    axios,
    echarts,
    $bus:new mitt()
}

const GlobalRegisterData = (app)=>{
    app.config.globalProperties = GlobalObj
}

export default GlobalRegisterData
  • 对应的获取数据脚本 GetGlobalData

获取数据脚本全局数据脚本 ~ 代码演示

import {getCurrentInstance} from 'vue'

const GetGlobalData = () => {
    let {appContext:{config:{globalProperties}}} = getCurrentInstance()
    return globalProperties
}

export default GetGlobalData
  • Main 注册

uniapp 开发,UNI-APP,uni-app,前端,vue.js

Vue3 对 vuex进行二次封装

封装代码

hooks/VueX ~ 代码演示

import {useStore} from 'vuex'
import {computed, onMounted, reactive, ref} from 'vue'
import {mapActions, mapMutations, mapState, mapGetters} from 'vuex'

let store = null

const initialize = ()=>{
	if (store === null) store = useStore() //获取到store对象
}

const mapActionsFun = (mapper) => {
    if (store === null) store = useStore() //获取到store对象
    const storeActionsFns = mapActions(mapper)
    const actionsData = {}
    const thisObj = {$store: store}
    Object.keys(storeActionsFns).forEach(item => {
        const fn = storeActionsFns[item].bind(thisObj) //给函数绑定this
        actionsData[item] = fn
    })
    return actionsData
}

const mapMutationsFun = (mapper) => {
    if (store === null) store = useStore() //获取到store对象
    const storeMutationsFns = mapMutations(mapper)
    const mutationsData = {}
    const thisObj = {$store: store}
    Object.keys(storeMutationsFns).forEach(item => {
        const fn = storeMutationsFns[item].bind(thisObj) //给函数绑定this
        mutationsData[item] = fn
    })
    return mutationsData
}
const mapStateFun = (mapper) => {
    if (store === null) store = useStore() //获取到store对象
    const storeStateFns = mapState(mapper)
    const storeData = {}
    const thisObj = {$store: store}
    Object.keys(storeStateFns).forEach(item => {
        const fn = storeStateFns[item].bind(thisObj) //给函数绑定this
        storeData[item] = computed(fn)
    })
    return storeData
}
const mapGetterFun = (mapper) => {
    if (store === null) store = useStore() //获取到store对象
    const storeGettersFns = mapGetters(mapper)
    const getterData = {}
    const thisObj = {$store: store}
    Object.keys(storeGettersFns).forEach(item => {
        const fn = storeGettersFns[item].bind(thisObj) //给函数绑定this
        getterData[item] = computed(fn)
    })
    return getterData
}

export {
	initialize,
    mapActionsFun,
    mapMutationsFun,
    mapStateFun,
    mapGetterFun,
}

Store管理

uniapp 开发,UNI-APP,uni-app,前端,vue.js

Store ~ 代码演示

import { createStore } from 'vuex'

//导入store模块
import login from './login/index.js'

const stores = createStore({
    modules: {
		login,
    }
})

export default stores

login ~ 代码演示

// 引入ShopCart请求服务器数据
import {} from '@/api/api'

const actions = {

}
const mutations = {

}
const state = {
	
}
const getters = {

}

export default {
    actions, mutations, state, getters
}

最后

uniapp 开发,UNI-APP,uni-app,前端,vue.js
本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪

 

                 相关专栏连接🔗

uniapp 开发,UNI-APP,uni-app,前端,vue.js

下篇文章再见ヾ( ̄▽ ̄)ByeBye

uniapp 开发,UNI-APP,uni-app,前端,vue.js文章来源地址https://www.toymoban.com/news/detail-545537.html

到了这里,关于Uniapp 开发 ①(快速上手)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app小程序实现音频播放,uniapp播放录音,uniapp简单实现播放录音

    复制到.vue文件即可预览效果 问题 :开发者工具中.onTimeUpdate方法可能会失效! 官方参考:https://uniapp.dcloud.net.cn/api/media/audio-context.html# 其他博客参考:https://blog.csdn.net/weixin_45328705/article/details/114091301 录音实现参考 :https://blog.csdn.net/weixin_43992507/article/details/129857780

    2024年02月12日
    浏览(86)
  • 【uni-app教程】四、UniAPP 路由配置及页面跳转

    uni-app 页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。类似小程序在 app.json 中配置页面路由一样。所以 uni-app 的路由用法与 Vue Router 不同,如仍希望采用 Vue Router 方式管理路由,可在插件市场搜索 Vue-Router。 uni-app 有两种页面路由跳转

    2024年01月16日
    浏览(77)
  • 【UniApp】-uni-app-项目实战页面布局(苹果计算器)

    经过前面的文章介绍,基本上 UniApp 的内容就介绍完毕了 那么从本文开始,我们就开始进行一个项目的实战 这次做的项目是苹果计算器,这个项目的难度不是很大,但是也不是很简单,适合练手 打开 HBuilderX,点击左上角 文件 - 新建 - 项目 : 项目创建完毕之后,首先来分析

    2024年02月04日
    浏览(67)
  • #Uniapp:uni-app中vue2生命周期--11个

    uni-app中vue2生命周期 生命周期钩子 描述 H5 App端 小程序 说明 beforeCreate 在实例初始化之后被调用 详情 √ √ √ created 在实例创建完成后被立即调用 详情 √ √ √ beforeMount 在挂载开始之前被调用 详情 √ √ √ mounted 挂载到实例上去之后调用 详情 注意:此处并不能确定子组件

    2024年02月02日
    浏览(51)
  • 在 WebStorm 中开发 uni-app - 用vue2实现手机APP(apk) + 微信小程序项目开发方案 webstorm开发的uniapp + hbuilderx进行app 小程序打包

    我们主要分析了如下小程序开发框架,主要包括: 框架 技术栈 案例 微信小程序 支付宝小程序 百度小程序 头条小程序 H5 App uni-app Vue 丰富 ⭕ ⭕️ ⭕️ ⭕ ⭕️ ⭕ Taro React 丰富 ⭕ ⭕ ⭕ ⭕ ⭕ ⭕ wepy Vue 丰富 ⭕ ❌ ❌ ❌ ❌ ❌ mpvue Vue 丰富 ⭕ ❌ ❌ ❌ ⭕️ ❌  首先,就要排

    2024年02月05日
    浏览(97)
  • 在 WebStorm 中开发 uni-app - 用vue2实现手机APP(apk) + 微信小程序项目开发方案 webstorm开发的uniapp + hbuilderx进行app 小程序打包

    我们主要分析了如下小程序开发框架,主要包括: 框架 技术栈 案例 微信小程序 支付宝小程序 百度小程序 头条小程序 H5 App uni-app Vue 丰富 ⭕ ⭕️ ⭕️ ⭕ ⭕️ ⭕ Taro React 丰富 ⭕ ⭕ ⭕ ⭕ ⭕ ⭕ wepy Vue 丰富 ⭕ ❌ ❌ ❌ ❌ ❌ mpvue Vue 丰富 ⭕ ❌ ❌ ❌ ⭕️ ❌  首先,就要排

    2023年04月15日
    浏览(81)
  • WebStorm开发uni-app ,用vue2实现手机APP(apk) + 微信小程序多端项目开发方案 webstorm开发的uniapp + hbuilderx进行app 小程序打包

    我们主要分析了如下小程序开发框架,主要包括: 框架 技术栈 案例 微信小程序 支付宝小程序 百度小程序 头条小程序 H5 App uni-app Vue 丰富 ⭕ ⭕️ ⭕️ ⭕ ⭕️ ⭕ Taro React 丰富 ⭕ ⭕ ⭕ ⭕ ⭕ ⭕ wepy Vue 丰富 ⭕ ❌ ❌ ❌ ❌ ❌ mpvue Vue 丰富 ⭕ ❌ ❌ ❌ ⭕️ ❌  首先,就要排

    2024年02月11日
    浏览(75)
  • 【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能

    组件使用的是uview组件,Keyboard 键盘和MessageInput 验证码输入两个组件配合使用。 通过mode参数定义键盘的类型,v-model绑定一个值为布尔值的变量,我绑定的是showKeyboard变量,控制键盘的弹出与收起; mode = number (默认值)为数字键盘,此时顶部工具条中间的提示文字为\\\"数字键盘

    2023年04月16日
    浏览(73)
  • 【uni-app】【Android studio】手把手教你运行uniapp项目到Android App

    选择运行到Android App基座 选择运行项目 1、连接手机,在手机上选择 传输文件。 2、打开 设置 - 关于本机 - 版本信息 -连续点击4-5次 版本号 ,输入手机密码,系统就进入了开发者模式。 3、 设置 其他设置 开发者选项 打开 开发者选项 打开 USB调试 。 4、回到Hbuilder,点击刷新

    2024年02月09日
    浏览(56)
  • miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)

    小程序分类:uni-app qq小程序 支付宝小程序 百度小程序 钉钉小程序 微信小程序 小程序转成uni_app 小程序转为uni_app 小程序转uni_app 小程序转换 工具现在支持npm全局库、HBuilderX插件两种方式使用,任君选择,HBuilderX插件地址:https://ext.dcloud.net.cn/plugin?id=2656 【miniprogram-to-uniapp】

    2024年02月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包