首页 > 其他分享 >保姆级教程:手把手教你搭建vue3+vite+pinia项目,直接上手开发

保姆级教程:手把手教你搭建vue3+vite+pinia项目,直接上手开发

时间:2023-07-17 17:01:58浏览次数:39  
标签:npm 文件 vue js pinia vue3 vite

虽然代码很机械的就写出来了,但是搭建项目却总是很生疏会忘记呢(毕竟一个项目做n年。。)

第一步:npm create vite projectName(你的项目名)

第二步,:选择Vue

第三步:选择想要用的语言,这里我选了javascript

第四步:切换到对应项目目录,npm install 下载当前所需依赖

 经过上面四步,一个最简单的vue3+vite项目就生成了(如下图所示),但是查看目录结构会发现,少了很多我们开发过程中必备的内容所以我们需要继续完善它

第五步: 配置vue路由

(1)npm install vue-router

(2)修改App.vue文件,将默认的内容删除,加上我们需要的内容

(3)在src目录下创建views文件夹,用来存放我们的vue页面,当然真正开发过程中还是需要根据需求划分好页面目录哦~

(4)在src目录下创建router文件夹,并创建index.js文件,真正开发过程中随着路由的增多,可以划分不同模块的路由js文件,在index.js文件中引入哦

(5)在main.js中引入路由

到这里路由的配置就大功告成,启动项目,可以看见页面已经有了我们写的内容。但这里有个问题,我们在home.vue文件和App.vue文件中都没有给到样式,为什么我们的内容会是居中显示呢?

原因:src目录下有个style.css文件,是我们创建项目时脚手架默认生成的,对全局样式起到作用,我们并不需要它,所以要把它删除,后续我们会在其他地方对样式做统一管理。在main.js中一并移除引用

 此时再看,我们的样式就是正常的了

第六步:配置pinia,代替我们vue2中使用的vuex

(1)npm install pinia

(2)在src目录下创建store文件夹,自定义js文件,例如图片的user.js可以用来缓存用户相关的数据(后续可以根据需求自定义不同模块的js文件)

 (3)在main.js中注册pinia

(4)使用pinia,在vue文件中引入我们定义的pinia数据

 第七步:配置less,让我们写样式时更方便,这里注意只需要安装less,不需要像Webpack那样还有安装less-loader,vite已内置

(1)npm install less

(2)在对应的vue文件中写less样式,测试下是否安装成功

 如图所示,已经安装成功

第八步:使用element-ui组件库的vue3版本 element-plus

(1)npm install element-plus

 (2)在main.js中注册element-plus

 (3)在vue文件中使用组件,测试是否安装成功

 如图所示,elementui-plus已经安装成功并且可以正常使用

 第九步:配置axios,让接口请求更为方便

(1)npm install axios

 (2)在src目录下,创建api文件夹

 (3)在main.js中引入我们封装好axios的api文件

 (4)在vite.config.js中配置开发时代理,解决跨域问题

 (5)在api文件夹下创建对应模块的js文件,例如:home.js(后续根据需求可以分成不同模块的api文件)

因为我们上面的代理路径配置的是’/‘,所以这里的url以’/‘开头,为’/home/info‘,若配置的是’/api‘,则这里的url路径是’/api/home/info‘

(6)在vue文件中调用接口

到这一步为止,我们的项目已经集成了vue3+vite+vue-router+pinia+less+element-plus+axios,完全可以开始我们的开发工作了~

当然后面工作少不了对代码的缝缝补补啦,比如样式的统一管理,eslint对代码格式的规范,还有全局组件的注册及使用等等~

 

标签:npm,文件,vue,js,pinia,vue3,vite
From: https://www.cnblogs.com/liandudu/p/17559780.html

相关文章

  • Vue3 遍历显示Json数组
    在Vue项目中遍历显示Json数组以列表的形式显示的页面上 main.js全局json对象//全局jsonconstglobalData=reactive({extTelTalkData:[{userExten:"1000",userName:"刘亦菲",callStatus:"通话"},......
  • vue3 provide/inject使用
    provide/inject可解决深层组件传值问题父组件import{provide}from"vue";constcurValue=ref(props.modelValue);provide('curTabName',curValue);子组件import{inject}from"vue";constcurTabName=inject("curTabName&quo......
  • vue3axios怎么用
    Vue3中使用axios在Vue3中,可以使用axios来进行网络请求。axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js,非常便捷和强大。安装axios在开始之前,首先需要安装axios。可以通过npm或者yarn来安装:npminstallaxios引入axios在Vue3中,可以使用import来引入axios:impor......
  • vue3axiosjwt拦截器
    实现Vue3axiosjwt拦截器介绍在Vue3项目中使用axios进行网络请求时,我们经常需要在每次请求中添加JWT令牌(JSONWebToken)以进行身份验证。为了简化这个过程,我们可以使用axios的拦截器来实现自动添加JWT令牌的功能。本文将指导你如何使用Vue3、axios和JWT来实现拦截器。整体流程......
  • vue3 封装api接口
    新建axiosj.tsimportaxiosfrom'axios';import{showMessage}from"./status";//引入状态码文件import{ElMessage}from'element-plus'//引入el提示框,这个项目里用什么组件库这里引什么//设置接口超时时间axios.defaults.timeout=60000;//请求地址,......
  • vite-plugin-vue-images——Vite自动导入图片
    vite-plugin-vue-images——Vite自动导入图片在Vue2时我们经常会这样引用图片:<img:src='require("地址")'/>但在Vite中不支持require了,引用图片变成了下面这样:<template><img:src='imgUrl'/></template><scriptsetup>importimgUrl......
  • vue3 为什么使用 hooks?
    目的为了解决在组件中共享逻辑和状态的问题。 hooks提供了一种更简洁和直观的方式来共享逻辑和状态。vue3中的hooks是基于函数的组件模型,通过在函数组件内部使用特定的hook函数来实现。每个hook函数都有特定的用途,例如:useState用于创建和管理状态,useEffect用于......
  • SpringBoot+Vue3+MySQL集群 开发健康体检双系统
    第1章课程介绍试看4节|38分钟观看项目演示,熟悉大健康体检项目主要功能。掌握学习本课程的最佳方法,以及如何利用在线手册学习和答疑。第2章大健康体检项目全栈环境搭建16节|218分钟利用虚拟机或者云主机安装Linux系统和Docker环境,部署MongoDB、Redis、Minio和RabbitMQ等中......
  • Vue2或Vue3中实现页面锚点滚动(结合AntDesign a-steps
    核心代码 onStepChange(current){ this.current=current; document.querySelector(`[id='${current}']`).scrollIntoView({ behavior:"smooth",//定义过渡动画instant立刻跳过去smooth平滑过渡过去 block:"start",//定义垂直滚动方向的对齐start顶部(......
  • vue3项目 运行 报错 Cannot assign to "b" because it is a constant
    环境依赖node18.16.0vite4.4.4vue 3.2.47背景当前错误与环境依赖关系不大,是由于我在打包的文件写的代码错误导致的,一般情况不会有这个错报错信息X[ERROR]Cannotassignto"b"becauseitisaconstantThesymbol"b"wasdeclaredaconstanthere:原因将r......