目录

前言

一、搭建环境

1.1、安装Node.js

1.2、安装Vite

二、项目创建

三、运行项目

四、集成Pinia

4.1、Pinia介绍

4.2、Pinia安装

五、集成VueUse

5.1、vueuse简介

5.2、vueuse安装

六、集成Vant

6.1、Vant简介

6.2、Vant安装

前言

本专栏主要介绍如何使用Vue3+Vite+TS+Pinia+VueUse+Vant的技术栈来入门前端开发,由于今天是第一篇,咱们来点轻松的内容——搭建开发环境。

Vue3是一款前端开发框架,关于Vue3的学习可以参考文档:Vue3文档

Vite是一种前端构建工具,关于Vite的学习可以参考文档:Vite文档

TypeScript是一种编程语言,它是JavaScript的一个超集,学习TS可以参考:TypeScript文档

一、搭建环境

1.1、安装Node.js

首先,你需要安装node.js,可以直接去官网下载:Node.js,根据自己所需的平台按需下载:

如果你是Mac平台,可以通过HomeBrew这个工具安装,非常方便。安装完了之后,可以通过以下命令查看node和npm的版本:

接着可以通过以下命令切换一下npm默认的源:

// 切换
npm config set registry https://registry.npmmirror.com
// 查看
npm config get registry

1.2、安装Vite

安装Vite可以参考官网的安装说明:https://cn.vitejs.dev/guide/

下面咱们通过手动安装的形式来操作,通过以下命令进行安装:

// 安装
npm install -g vite
npm install create-vite -g
// 查看
npm list -g

二、项目创建

上面的环境搭建好之后,咱们继续来创建一个项目试试水。

首先进入到你想要创建项目的目录下,然后使用npm init vite或者create-vite命令创建项目:

接着会出现一步一步的指令,我们只需要根据指令提示进行相应的操作即可,比如这里会让你输入项目名Project name、Package name,让你选择一个前端框架,让你选择一种开发语言等等,之后工具会自动创建项目直到创建完成:

然后我们进入到刚刚创建完成的项目目录下,使用npm install命令来安装依赖包:

三、运行项目

运行项目也很简单,这里咱们通过执行npm run dev这个命令把项目运行起来:

这样咱们的项目就运行起来了,那怎么查看效果呢?很简单,把上面红色框出来的这个地址放到浏览器中就可以看到效果啦:

好了,到这里你是不是以为今天的内容就结束了?No,咱们为了后续直接开发,所以再来为项目引入几个后面需要用的库,先别走,继续往下看吧。

四、集成Pinia

4.1、Pinia介绍

Pinia是最新一代轻量级状态管理插件,功能类似于Vuex。作为Vue.js生态中的状态管理解决方案,其核心定位是提供响应式数据存储和跨组件状态共享能力。

Pinia的优点:

对比维度

Pinia特性

Vuex特性

API设计

Composition API风格

Options API风格

类型支持

完善的TypeScript推断

需额外配置

体积

很小

相对较大

模块化

自动代码拆分

需手动处理

扩展性

支持本地存储/事务扩展

插件机制复杂

核心优势包括:

  • 简化存储定义:采用类组件式声明语法
  • 开发工具支持:完美兼容Vue DevTools
  • 服务端渲染:原生SSR支持
  • 性能优化:基于Vue3响应式系统构建

4.2、Pinia安装

在项目中安装Pinia:

  • 执行安装命令:在项目根目录运行npm install pinia --save
  • 验证依赖:检查package.json中是否新增对应版本号
  • 存储路径:状态管理文件应存放在src/store目录下

咱们使用VSCode打开项目工程,在package.json文件中可以看到已经添加了pinia的依赖:

接着在src目录下创建store文件夹,在store下创建index.ts文件,在文件中执行以下操作:

  • 导入创建方法:从pinia引入defineStore函数
  • 声明状态仓库:通过defineStore创建并命名存储实例
  • 导出实例:将创建的状态实例进行模块化导出

代码如下:

然后打开main.ts文件,在main.ts中引入上面创建的index.ts文件,并且执行以下操作:

  • 实例化Vue应用:创建createApp返回的实例对象
  • 挂载Pinia:通过.use(pinia)注入状态管理插件
  • 应用初始化:执行mount('#app')完成挂载
  • 清理冗余代码:移除旧版状态管理相关引用

代码如下:

五、集成VueUse

5.1、vueuse简介

  • VueUse是为Vue2和Vue3服务的一套Composition API常用工具集,是目前世界上star最高的同类库之一。
  • 主要功能是将原本不支持响应式的JavaScript API变得支持响应式,避免程序员重复编写相关代码。
  • 本质是基于Composition API的函数集合工具包,支持更好的逻辑分离,可快速实现常见功能。
  • 具体功能可通过VueUse官网查看。

5.2、vueuse安装

  • 安装步骤:在项目工程目录下执行npm install @vueuse/core命令
  • 验证安装:package.json文件的dependencies中会新增@vueuse/core依赖项

六、集成Vant

6.1、Vant简介

Vant是一个轻量可靠的移动端组件库,于2017年开源。官方提供Vue2版本、Vue3版本及微信小程序版本,由设计团队维护。

文档参考:https://vant.pro/vant/#/zh-CN

6.2、Vant安装

集成Vant需在项目根目录下执行npm install vant --save:

安装后package.json的dependencies中会显示Vant版本:

OK,今天的内容就到这里了,整体看下来还是很轻松的,下期再会!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94010.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94010.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94010.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Kubernetes核心:标签与标签选择器实战解析

在管理 Kubernetes 集群时,随着 Pods、Services 等资源数量的增长,如何有效地组织和筛选它们,成为了一个核心问题。Kubernetes 为此提供了一个简单却极其强大的机制:标签(Labels)和标签选择器(L…

哈希和字符串哈希

哈希(Hash) Hash 表 Hash 表又称为散列表,一般由 Hash 函数(散列函数)与链表结构共同实现。与离散化思想类似,当我们要对若干复杂信息进行统计时,可以用 Hash 函数把这些复杂信息映射到一个容…

【Docker基础】Docker-Compose核心配置文件深度解析:从YAML语法到高级配置

目录 前言 1 YAML基础语法解析 1.1 YAML格式简介 1.2 Docker-compose中的YAML语法规则 1.3 YAML数据类型在Compose中的应用 2 docker-compose.yml文件结构剖析 2.1 基本文件结构 2.2 版本声明详解 3 services配置深度解析 3.1 服务定义基础 3.2 镜像与构建配置 3.3…

如何判断是否应该为了一个小功能而引入一个大体积的库

在软件开发中,判断是否应该为了一个看似微小的功能,而引入一个大体积的第三方库,是一项极其重要的、需要进行审慎的“投入产出比”分析的技术决策。这个决策,绝不能,仅仅基于“实现功能的便利性”,而必须&a…

相机定屏问题分析五:【跳帧异常】照片模式1x以上的焦段拍照之后定屏

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 相机定屏问题分析五:【跳帧异常】照片模式1x以上的焦段拍照之后定屏9573412 目录 一、问题背景 二…

Non-stationary Diffusion For Probabilistic Time Series Forecasting论文阅读笔记

Non-stationary Diffusion For Probabilistic Time Series Forecasting 摘要 时间序列数据受到潜在的物理动力学和外部影响,其不确定性通常随时间而变化。现有的去噪扩散概率模型(DDPMs)受到加性噪声模型(ANM)的恒定方…

解决Docker 无法连接到官方镜像仓库

这个错误: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)表示 Docker 无法连接到官方镜像仓库 registry-1.docker…

解决RAGFlow启动时Elasticsearch容器权限错误的技术指南

文章目录 问题现象 根本原因分析 解决方案步骤 1. 定位宿主机数据目录 2. 修复目录权限 3. 验证权限状态 4. 重启服务 5. 检查启动状态 永久解决方案:优化Docker Compose配置 高级故障排除 技术原理 问题现象 在启动RAGFlow项目时,执行 docker logs ragflow-es-01 发现Elast…

【C++高阶六】哈希与哈希表

【C高阶六】哈希与哈希表1.什么是哈希?2.unordered系列容器3.哈希表3.1将key与存储位置建立映射关系3.1.1直接定址法3.1.2除留余数法(产生哈希冲突)3.2解决哈希冲突的方法3.2.1闭散列(开放定址法)3.3.2开散列&#xff…

Vue 3 +Ant Design Vue 父容器样式不影响子级,隔离

公共样式文件 common.scss.zz-ant-status-bar {div {font-size: 12px;padding: 0 8px;} }页面代码<div class"zz-ant-status-bar"><a-row><a-col :span"6" ><a-progress :percent"progress.percent" size"small"…

k8s 简介及部署方法以及各方面应用

Kubernetes 简介及部署方法Kubernetes&#xff08;简称 K8s&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化容器化应用的部署、扩展、管理和运维。它由 Google 基于内部的 Borg 系统经验开发&#xff0c;2014 年开源后由云原生计算基金会&#xff08;CNCF&#xf…

Class A 包含字段 x Class B 也包含字段 x,如果判断List<A> lista 和 List<B> listb 有相同的 x?

要判断两个不同类型的对象列表 List<A> 和 List<B> 是否包含相同的 x字段值&#xff08;即两个列表中至少有一个 x是相同的&#xff09;&#xff0c;你可以使用 Java 8 的 Stream API 来实现。import java.util.List; import java.util.Set; import java.util.stre…

SpringBoot整合Camunda工作流

什么是工作流&#xff1f;概述 工作流是将一组任务组织起来以完成某个经营过程&#xff1a;定义了任务的触发顺序和触发条件&#xff0c;每个任务可以由一个或多个软件系统完成&#xff0c;也可以由一个或一组人完成&#xff0c;还可以由一个或多个人与软件系统协作完成&#x…

2025年09月计算机二级Java选择题每日一练——第四期

计算机二级中选择题是非常重要的&#xff0c;所以开始写一个每日一题的专栏。 答案及解析将在末尾公布&#xff01; 今日主题&#xff1a;面向对象特性 1、有两个类 A 和 B 的定义如下&#xff1a; class A{final int x10;public void show(){System.out.print(x " &quo…

《Nature》新文解读:电化学辅助核聚变的实验验证与机制分析

前言一篇于2025年8月发表在《Nature》期刊上的重磅研究&#xff0c;由加拿大不列颠哥伦比亚大学&#xff08;UBC&#xff09;Curtis P. Berlinguette教授领导的跨学科团队完成&#xff0c;首次在实验上证实&#xff1a;通过电化学方法向钯金属靶中加载氘&#xff0c;可显著提升…

【基础-判断】用户在长视频、短视频、直播、通话、会议、拍摄类应用等场景下,可以采用悬停适配在折叠屏半折态时,上屏进行浏览下屏进行交互操作

用户在长视频、短视频、直播、通话、会议、拍摄类应用等场景下,可以采用悬停适配在折叠屏半折态时,上屏进行浏览下屏进行交互操作。 解释如下: ✅ 1. 悬停态适配机制的核心设计 HarmonyOS 针对折叠屏半折态(悬停态)提供了分屏交互框架,其核心逻辑是: 上屏(Upper Scre…

nodejs安装后 使用npm 只能在cmd 里使用 ,但是不能在poowershell使用,只能用npm.cmd

nodejs安装后 使用npm 只能在cmd 里使用 &#xff0c;但是不能在poowershell使用&#xff0c;只能用npm.cmdnodejs版本&#xff1a;22.18.0 刚安装好nodejs&#xff0c;在 PowerShell 中无法执行 npm&#xff0c;但能执行npm.cmd&#xff0c;这通常是因为 PowerShell 的执行策略…

【链表 - LeetCode】2. 两数相加

谁都逃不掉 LeetCode &#xff01;&#xff01;哈哈哈~~~ 开刷&#xff1a;&#xff09; 2025年08月22日 题目&#xff1a;2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 知识点&#xff1a;链表 /*** Definition for singly-linked list.* struct ListNode {* in…

WG-Tools 在线开发者工具推荐:完全免费、无广告干扰、无需安装、即开即用

WG-Tools 在线开发者工具箱全面探秘: 一站式效率提升平台前言一. WG-Tools 平台介绍 &#x1f6e0;️平台概览技术架构亮点二. 功能模块详细介绍 &#x1f3af;&#x1f4dd; 文本处理工具 (Text Tools)1. JSON工具2. XML工具3. 文本对比4. 正则表达式工具5. Markdown编辑器6. …

四十二、【核心功能强化】用例管理与调试:批量删除与在线请求测试

四十二、【核心功能强化】用例管理与调试:批量删除与在线请求测试 前言 准备工作 第一部分:后端实现 1. 修改 `TestCaseViewSet` (`api/views.py`) 2. 后端 API 权限: 第二部分:前端实现 1. 更新 `api/testcase.ts` API 服务 2. 改造 `TestCaseListView.vue` (用例列表页面…