当前位置: 首页 > news >正文

浙江嘉兴网站建设网创项目平台

浙江嘉兴网站建设,网创项目平台,哪里的网站建设,网易企业邮箱设置作者 : SYFStrive 博客首页 : HomePage #x1f4dc;#xff1a; UNIAPP开发 #x1f4cc;#xff1a;个人社区#xff08;欢迎大佬们加入#xff09; #x1f449;#xff1a;社区链接#x1f517; #x1f4cc;#xff1a;觉得文章不错可以点点关注 #x1f4… 作者 : SYFStrive   博客首页 : HomePage UNIAPP开发 个人社区欢迎大佬们加入 社区链接 觉得文章不错可以点点关注 专栏连接 感谢支持,学累了可以先看小段由小胖给大家带来的街舞 微信小程序 UNIAPP开发 目录 前言所需NPM包dcloudio/uni-ui 配置easycom使用官方提供的CLI模板安装和初始化UNIAPP 网络请求Promise化封装1. 文件目录规范2. 封装请求拦截器3. 使用 API Vue3 将数据挂载上全局对象 And 获取全局对象数据Vue3 对 vuex进行二次封装封装代码Store管理 最后 前言 现在越来越多的人逐渐接受使用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:[// ...] }使用官方提供的CLI模板 安装和初始化UNIAPP 首先我们需要安装uni-app。可以使用以下命令进行安装 命令 npm install -g vue/cli 接下来我们通过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 网络请求Promise化封装 1. 文件目录规范 2. 封装请求拦截器 封装请求拦截器 ~ 代码演示 // 引入axios import axios from axios;let requests axios.create({//基础路径baseURL: /api,//请求不能超过3Stimeout: 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) {// XXXreturn Promise.reject(response.data)}else{// XXXreturn 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 mittconst GlobalObj {axios,echarts,$bus:new mitt() }const GlobalRegisterData (app){app.config.globalProperties GlobalObj }export default GlobalRegisterData对应的获取数据脚本 GetGlobalData 获取数据脚本全局数据脚本 ~ 代码演示 import {getCurrentInstance} from vueconst GetGlobalData () {let {appContext:{config:{globalProperties}}} getCurrentInstance()return globalProperties }export default GetGlobalDataMain 注册 Vue3 对 vuex进行二次封装 封装代码 hooks/VueX ~ 代码演示 import {useStore} from vuex import {computed, onMounted, reactive, ref} from vue import {mapActions, mapMutations, mapState, mapGetters} from vuexlet store nullconst 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) //给函数绑定thisactionsData[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) //给函数绑定thismutationsData[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) //给函数绑定thisstoreData[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) //给函数绑定thisgetterData[item] computed(fn)})return getterData }export {initialize,mapActionsFun,mapMutationsFun,mapStateFun,mapGetterFun, }Store管理 Store ~ 代码演示 import { createStore } from vuex//导入store模块 import login from ./login/index.jsconst stores createStore({modules: {login,} })export default stores login ~ 代码演示 // 引入ShopCart请求服务器数据 import {} from /api/apiconst actions {} const mutations {} const state {} const getters {}export default {actions, mutations, state, getters }最后 本文到这里就结束了,大佬们的支持是我持续更新的最大动力希望这篇文章能帮到大家                    相关专栏连接 下篇文章再见ヾ(▽)ByeBye
http://www.hkea.cn/news/14521371/

相关文章:

  • 程序员 创业做网站宁波seo推广开发
  • 合肥网站建设之4个细节要注意潍坊住房和城乡建设部网站
  • 怎么创建个人的网站企业推广活动
  • 酒店网站建设方案ppt能进网站的浏览器
  • seo网站推广的主要目的是什么php免费企业网站源码
  • 博物馆网站建设经费请示免费的ppt制作软件
  • 特色设计网站推荐美团如何进行网站的建设和维护
  • 中文域名怎样绑定网站安徽电商网站建设
  • 自动做reference的网站网站有哪些平台
  • 网站 简约南昌推广软件
  • 湖南响应式网站方案海外媒体中文网
  • 做网站客户总是要退款通过照片街景识别的地图
  • 淘宝客网站虚拟主机自己开发网站怎么开发
  • 凡科网站模板h5网站设计
  • 网站站群建设百度热门关键词排名
  • 沧州市网站优化排名动漫制作专业排名
  • wordpress 首页文章数seo外链工具软件
  • 简洁大气的企业网站广东省农业农村厅领导
  • 崇明建设镇虹桥村网站广州企业名录
  • 建设厅注册中心网站安徽seo推广
  • 杨幂做的网站广告网站建设于朦胧
  • 知名做漫画网站黄骅港赶海推荐个好地方
  • 广州做网站多少钱信息网络工程师
  • 如何用博客网站做cpa考试类wordpress主题
  • seo优化网站建设公司兰州装修公司有哪些
  • 永定区建设局网站做线下活动的网站
  • 网站如何自动手机版昆明公司做网站
  • 网站开发端网站建设客户确认单
  • 成都企业网站建设价格最专业的外贸网站建设公司
  • wordpress素才中山做网站优化