我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在移动端项目中使用vite2.0和vue3

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在移动端项目中使用vite2.0和vue3

怎么在移动端项目中使用vite2.0和vue3?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

vue是什么软件

Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

一.涉及技术点

  • vite版本

  • vue3

  • ts

  • 集成路由

  • 集成vuex

  • 集成axios

  • 配置Vant3

  • 移动端适配

  • 请求代理

二.步骤

vite+ts+vue3只需要一行命令

npm init @vitejs/app my-vue-app --template vue-ts

配置路由

npm install vue-router@4 --save

在class="lazy" data-src下新建router目录,新建index.ts文件

import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router";const routes: Array<RouteRecordRaw> = [ { path: "/", name: "Home", meta: {  title: "首页",  keepAlive: true }, component: () => import("../views/Home/index.vue"), }, { path: "/login", name: "Login", meta: {  title: "登录",  keepAlive: true }, component: () => import("../views/Login/index.vue"), },];const router = createRouter({ history: createWebHashHistory(), routes});export default router;

在main.ts挂载路由

import { createApp } from 'vue'import App from './App.vue'import router from "./router";createApp(App).use(router).mount('#app')

配置数据中心vuex(4.x)

安装

npm i vuex@next --save

配置

在class="lazy" data-src下创建store目录,并在store下创建index.ts

import { createStore } from "vuex";export default createStore({ state: { listData:{1:10}, num:10 }, mutations: { setData(state,value){  state.listData=value }, addNum(state){  state.num=state.num+10 } }, actions: { setData(context,value){  context.commit('setData',value) }, }, modules: {}});

挂载

在main.ts挂载数据中心

import { createApp } from 'vue'import App from './App.vue'import router from "./router";import store from "./store";createApp(App).use(router).use(store).mount('#app')

Vant3

安装

npm i vant@next -S

vite版本不需要配置组件的按需加载,因为Vant 3.0 内部所有模块都是基于 ESM 编写的,天然具备按需引入的能力,但是样式必须全部引入137.2k

在main.ts全局引入样式

import { createApp } from 'vue'import App from './App.vue'import router from "./router";import store from "./store";import 'vant/lib/index.css'; // 全局引入样式createApp(App).use(router).use(store).use(ant).mount('#app')

移动端适配

安装postcss-pxtorem

npm install postcss-pxtorem -D

在根目录下创建postcss.config.js

module.exports = { "plugins": { "postcss-pxtorem": {  rootValue: 37.5,   // Vant 官方根字体大小是 37.5  propList: ['*'],  selectorBlackList: ['.norem']   // 过滤掉.norem-开头的class,不进行rem转换 } }}

在根目录class="lazy" data-src中新建util目录下新建rem.ts等比适配文件

// rem等比适配配置文件// 基准大小const baseSize = 37.5 // 注意此值要与 postcss.config.js 文件中的 rootValue保持一致// 设置 rem 函数function setRem () { // 当前页面宽度相对于 375宽的缩放比例,可根据自己需要修改,一般设计稿都是宽750(图方便可以拿到设计图后改过来)。 const scale = document.documentElement.clientWidth / 375 // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整) document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'}// 初始化setRem()// 改变窗口大小时重新设置 remwindow.onresize = function () { console.log("我执行了") setRem()}

在mian.ts引入

import "./utils/rem"

配置网络请求axios

安装

npm i -s axios

配置axios

在class="lazy" data-src创建utils文件夹,并在utils下创建request.ts

import axios from "axios";const service = axios.create({ baseURL, timeout: 5000 // request timeout});// 发起请求之前的拦截器service.interceptors.request.use( config => { // 如果有token 就携带tokon const token = window.localStorage.getItem("accessToken"); if (token) {  config.headers.common.Authorization = token; } return config; }, error => Promise.reject(error));// 响应拦截器service.interceptors.response.use( response => { const res = response.data;  if (response.status !== 200) {  return Promise.reject(new Error(res.message || "Error")); } else {  return res; } }, error => { return Promise.reject(error); });export default service;

使用

import request from "../utils/request";request({url: "/profile ",method: "get"}).then((res)=>{ console.log(res)})

配置请求代理

vite.config.ts

import { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import path from 'path'; // https://vitejs.dev/config/export default defineConfig({ plugins: [vue()], base:"./",//打包路径 resolve: { alias:{  '@': path.resolve(__dirname, './class="lazy" data-src')//设置别名 } }, server: { port:4000,//启动端口 open: true, proxy: {  // 选项写法  '/api': 'http://123.56.85.24:5000'//代理网址 }, cors:true } })

 以上,一个最基本的移动端开发配置完成。

三. vite对<script setup> 和<style vars>的支持格外友好

正常写法

<script lang="ts">import { defineComponent } from "vue";import { useRouter } from "vue-router";export default defineComponent({ setup() { const router = useRouter(); const goLogin = () => {  router.push("/"); }; return { goLogin }; },});</script><script setup>写法<script lang="ts" setup="props">import { useRouter } from "vue-router";const router = useRouter();const goLogin = () => { router.push("/");};</script>

是不是简洁了很多

<style vars>如何用?<script lang="ts" setup="props">const state = reactive({ color: "#ccc",});</script><style >.text { color: v-bind("state.color");}</style>

看完上述内容,你们掌握怎么在移动端项目中使用vite2.0和vue3的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在移动端项目中使用vite2.0和vue3

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在移动端项目中使用vite2.0和vue3

怎么在移动端项目中使用vite2.0和vue3?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vue是什么软件Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue
2023-06-06

在vue移动端项目中怎么实现页面缓存

这篇文章主要介绍在vue移动端项目中怎么实现页面缓存,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!背景在移动端中,页面跳转之间的缓存是必备的一个需求。例如:首页=>列表页=>详情页。从首页进入列表页,列表页需要刷新,
2023-06-14

vue3项目中怎么使用tinymce

tinymce是一个功能齐全的富文本编辑器插件,但在vue中引入tinymce并不像别的Vue富文本插件一样那么顺利,tinymce本身并不适配Vue,还需要引入@tinymce/tinymce-vue,并且它是国外的富文本插件,没有通过中文版本,需要在其官网下载翻译包(可能需要翻墙)。1、安装相关依赖npminstalltinymce-Snpminstall@tinymce/tinymce-vue-S2、下载中文包3.引入皮肤和汉化包在项目public文件夹下新建tinymce文件夹,将下载的
2023-05-19

Vue3项目中的hooks怎么使用

本篇内容介绍了“Vue3项目中的hooks怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!hooks 特点vue3 中的 hooks
2023-07-06

如何在vue3+ts项目中使用query和params传参

Vue3中的路由传参有两种方式:query和params,下面这篇文章主要给大家介绍了关于如何在vue3+ts项目中使用query和params传参的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-16

adb forword通信怎么在android移动端与PC端中使用

这篇文章给大家介绍adb forword通信怎么在android移动端与PC端中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PC端与Android手机端使用adb forword通信服务器端代码如下:import
2023-05-31

怎么在vue3中使用setup、 ref和reactive

本文小编为大家详细介绍“怎么在vue3中使用setup、 ref和reactive”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在vue3中使用setup、 ref和reactive”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入
2023-07-06

ContentProvider怎么在Android项目中使用

ContentProvider怎么在Android项目中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、概念及说明ContentProvider定义:内容提供者是一个An
2023-05-31

怎么在PHP项目中使用Swoole

这篇“怎么在PHP项目中使用Swoole”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在PHP项目中使用Swoole”文
2023-07-05

web worker在项目中怎么使用

这篇文章主要介绍“web worker在项目中怎么使用”,在日常操作中,相信很多人在web worker在项目中怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web worker在项目中怎么使用”的疑
2023-07-02

Newtonsoft.Json怎么在c#项目中使用

本篇文章为大家展示了 Newtonsoft.Json怎么在c#项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 实体类的 Json 序列化和反序列化我们以如下的 Person 类举例,其中
2023-06-06

System.Windows.Interactivity怎么在c# 项目中使用

这篇文章给大家介绍System.Windows.Interactivity怎么在c# 项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 引入命名空间  通过在代码中引入System.Windows.Inter
2023-06-06

listfragment怎么在Android项目中使用

本篇文章给大家分享的是有关listfragment怎么在Android项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、fragment简介我对fragment的理解
2023-05-31

HttpURLConnection怎么在Java项目中使用

这篇文章将为大家详细讲解有关HttpURLConnection怎么在Java项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。包括使用HttpURLConnection执行get/po
2023-05-30

怎么在uniapp项目中使用mqtt

这篇文章将为大家详细讲解有关怎么在uniapp项目中使用mqtt,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、uniapp插件市场的参考插件  https://ext.dcloud.net.cn/pl
2023-06-15

怎么在vue3.0项目中使用element

这篇文章给大家介绍怎么在vue3.0项目中使用element,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。vue是什么软件Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用
2023-06-06

redis在java项目中怎么使用

Redis在Java项目中的使用Redis是Java项目中常用的内存内数据库,它提供高速性能和丰富的功能。可以使用Java客户端库(如Jedis、Lettuce、Redisson)连接到Redis服务器。Redis可以存储键值对,用于缓存数据、管理会话状态和实现消息队列。此外,它还提供有序集合、哈希表、地理空间索引和Lua脚本等功能。最佳实践包括使用连接池、设置键过期时间、考虑持久化和监控Redis实例。
redis在java项目中怎么使用
2024-04-12

ViewDragHelper怎么在Android项目中使用

本篇文章为大家展示了 ViewDragHelper怎么在Android项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ViewDragHelper是support.v4下提供的用于处理拖拽滑
2023-05-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录