(使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))

使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus)

  • 初始化项目
  • 安装依赖,运行项目
  • 初始配置

初始化项目

1.需要在创建项目的位置cmd目录下执行
在这里插入图片描述
2. npm init vite@latest 回车

npm init vite@latest

3.填上自己的项目名称 回车

在这里插入图片描述
4.选择vue 回车
在这里插入图片描述
5.选择TypeScript回车
在这里插入图片描述
6.项目创建完成
在这里插入图片描述

或者一步到位通过附加的命令行选项直接指定项目名称和你想要使用的模板(根据自己npm版本来选择不同的命令行)

# npm 6.x
npm create vite@latest vite-vue --template vue-ts# npm 7+, extra double-dash is needed:
npm create vite@latest vite-vue -- --template vue-ts

在这里插入图片描述

安装依赖,运行项目

1.用你的软件打开创建的项目,在终端进入项目

cd vite-vue

在这里插入图片描述
2.安装默认依赖

npm install

3.运行项目

npm run dev

在这里插入图片描述

初始配置

1.更改http://localhost:3000/到8080与Network路由访问(server对象为新增,其余的都是源代码)

修改vite.config.ts配置文件代码

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server:{host:'0.0.0.0',//解决vite use--host to exposeport:8080,open:true}
})

2.配置vite别名
vue开发过程中,在引入文件时,习惯使用 @ 代替 src,vite 默认是不识别的,所以需要配置

(1)

 npm install @types/node --save-dev

(2)修改vite.config.ts配置文件代码,(resolve对象为新增,其余都是源代码)

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server:{host:'0.0.0.0',//解决vite use--host to exposeport:8080,open:true},resolve:{alias:[{find:'@',replacement:resolve(__dirname,'src')}]}
})

3)在tsconfig.json 文件中添加配置

{"compilerOptions": {"target": "ESNext","useDefineForClassFields": true,"module": "ESNext","moduleResolution": "Node","strict": true,"jsx": "preserve","resolveJsonModule": true,"isolatedModules": true,"esModuleInterop": true,"lib": ["ESNext", "DOM"],"skipLibCheck": true,"noEmit": true,// 添加的配置开始"baseUrl": ".","paths": {"@/*":["src/*"]}
//添加的配置结束},"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],"references": [{ "path": "./tsconfig.node.json" }]
}

3.安装路由

npm install vue-router@4

(1)在src目录下新建router文件夹,在router里创建index.ts文件
在这里插入图片描述

(2)在index.ts里面配置路由

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'const routes: Array<RouteRecordRaw> = [{path: '/',name: 'home',component:()=>import('../view/home.vue'),//我事先在src下面创建了一个view文件夹,在view文件下面创建了home.vue文件}
]const router = createRouter({history: createWebHistory(),routes
})export default router

(3)在main.ts中导入挂载路由

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

(4)修改App.vue管理路由

<script setup lang="ts">
</script>
<template><router-view></router-view>
</template><style>
</style>
4.安装css 预处理器 sass
npm install -D sass
<template><div class="app"><div class="box">首页</div></div>
</template><script lang="ts" setup></script><style lang="scss" scoped>
.app {.box {color: #747bff;}
}
</style>

5.引入element-plus

npm install element-plus --save

(1)在main.ts引入

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from "./router";
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'createApp(App).use(router).use(ElementPlus).mount('#app')

(2)使用

<template><div class="app"><el-button type="success">Success</el-button></div>
</template><script lang="ts" setup></script><style lang="scss" scoped>
</style>

(3)效果
在这里插入图片描述

6.安装pinia

npm install pinia

(1)在main.ts引入

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from "./router";
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import { createPinia } from "pinia";
const pinia = createPinia();createApp(App).use(router).use(ElementPlus).use(pinia).mount('#app')

以上步骤便完成了vue3项目 vite + vue3 + vue router + pinia + element plus

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

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

相关文章

ELK(三)—安装可视化工具

目录复制 目录 一、ElasticSearch-Head可视化工具介绍1.1特性&#xff1a;1.2用法&#xff1a; 二、安装2.1docker安装2.2Chrome插件安装 一、ElasticSearch-Head可视化工具介绍 ElasticSearch-Head 是一个基于浏览器的 Elasticsearch 可视化工具&#xff0c;它提供了一个直观…

JSON字符串转泛型对象

JSON字符串转泛型对象 以下问题只仅限于博主自身遇到&#xff0c;不代表绝对出现问题 相关类展示&#xff1a; 参数基类 public class BaseParams { }基类 public abstract class AbstractPush<Params extends BaseParams> {protected abstract void execute(Params…

mysql数据库中int字段长度,即int(1)和int(10)的区别

1.起因 为什么想起来看这个问题&#xff0c;是最近有同事问mysql的init类型的字段长度的问题&#xff0c;他问int(1)和int(10)是什么意思&#xff0c;是字段长度越大&#xff0c;能存储的数字越大么&#xff1f;咋一问&#xff0c;还有点懵&#xff0c;从惯性思维来看&#xf…

论文分享 | 基于机载单目视觉的四旋翼无人机群内相对定位

阿木实验室推出的开源项目校园赞助活动&#xff0c;再次迎来开发者参与&#xff01; 国防科技大学电子对抗学院司晓坤同学&#xff0c;在Prometheus开源仿真架构的基础上进行了二次开发&#xff0c;且使用Prometheus 450&#xff08;P450&#xff09;进行了真机实验并发表了相…

12月8日星期五今日早报简报微语报早读

12月8日星期五&#xff0c;农历十月廿六&#xff0c;早报微语早读。 1、广东男篮官宣&#xff1a;易建联9号球衣退役12月29日 正好首秀21周年&#xff1b; 2、2024届全国普通高校毕业生规模预计达1179万人&#xff1b; 3、国务院&#xff1a;严禁新增钢铁产能 严格合理控制煤…

leetcode面试经典150题——35 螺旋矩阵

题目&#xff1a; 螺旋矩阵 描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 提示&…

Linux centos8安装JDK1.8、tomcat

一、安装jdk 1.如果之前安装过jdk&#xff0c;先卸载掉旧的 rpm -qa | grep -i jdk 2.检查yum中有没有java1.8的包 yum list java-1.8* 3.yum安装jdk yum install java-1.8.0-openjdk* -y 4.验证 二、安装tomcat Index of /tomcat 可以在这里选择你想要安装的tomcat版本…

学习设计模式的一个好网址

常用设计模式有哪些&#xff1f; (refactoringguru.cn)https://refactoringguru.cn/design-patterns

统信UOS_麒麟KYLINOS安装奇安信并自动配置服务器IP端口号

往期好文&#xff1a;麒麟iso镜像中GRUB字体大小怎么改&#xff1f; hello&#xff0c;大家好啊&#xff0c;今天我要给大家介绍的是在统信UOS或者麒麟KYLINOS操作系统上安装奇安信网神终端管理系统&#xff0c;并通过自动配置IP及端口号来简化管理流程的方法。这种配置主要通过…

Linux-实现小型日志系统

目录 一.日志 二.实现任意个数元素求和 三.编写一个日志函数 1.设置日志等级 2.设置日志时间 3.设置日志的打印格式 4.将日志的内容输出到文件 一.日志 日志等级&#xff0c;日志时间&#xff0c;日志内容&#xff0c;文件的名称和行号 日志等级…

UEFI下Windows10和Ubuntu22.04双系统安装图解

目录 简介制作U盘启动盘并从U盘启动电脑安装系统安装Windows系统安装Ubuntu 附录双系统时间不一致 简介 传统 Legacy BIOS主板下的操作系统安装可参考本人博客 U盘系统盘制作与系统安装&#xff08;详细图解&#xff09; &#xff0c;本文介绍UEFI主板下的双系统安装&#xff…

关于mysql高版本使用groupby导致的报错

在开发时&#xff0c;遇到mysql版本在5.7.X及以上版本时使用group by 语句会报以下的错误 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column business_typ…