vite+vue3+elementPlus搭建项目

news2024/9/21 11:15:38
  • 创建基础框架

方式一:

创建命令

npm create vite@latest

or

yarn create vite

 

注意:这里可能会出现一个坑,注意你的node版本(node版本过低就会报错)

 创建成功

创建成功后运行以下命令即可

yarn
yarn dev

 

 

这种创建方式没有路由和ui等其他配置,只有基础的配置,其他需要自己安装依赖,package.json如下:

 方式二

  • 安装对应依赖,配置相关

文件目录大致样式:

 

  • 配置路由(vue-router)

安装路由依赖

yarn add vue-router -S

路由主文件:

import { createRouter,createWebHashHistory } from "vue-router";
import {customerRouters} from './customer'
import Home from '@/views/home/index.vue'
import HomeIndex from '@/views/home/home.vue'

//hash模式路由
const routes =[
    {
        path:'/',
        name:'home',
        component:Home,
        meta: {
            title: "首页"
        },
        redirect: "/home-index",
        children:[
            {
                path: "home-index",
                name: "home-index",
                component: HomeIndex,
                meta: {
                  title: "首页",
                }
            },
            customerRouters,
            

        ]
    },
    {
        path:'/login',
        name:'login',
        component:() => import('@/views/login/index.vue'),
        meta: {
            title: "登录"
        },
    }
]
const router = new createRouter({
    history: createWebHashHistory(), //vue3是用history控制路由模式,vue2是mode
    routes
  });
export default router

记得在main.js文件中引入并挂载到vue实例上

  • store配置

这里没有使用vuex,用的是pinia

安装pinia

yarn add pinia -S

记得在main.js文件中引入并挂载到vue实例上

/* 
* 程序的主入口文件
*/

//引入的是一个名为createApp的工厂函数 
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

//注册pinia
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' //pinia持久化
// 创建pinia实例
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)



const app = createApp(App)
app.use(router) //将router挂载到vue实例
app.use(pinia)// 挂载到 vue 实例
app.mount('#app')
  • 配置ui组件Elementplus

Elementplus官方

yarn add element-plus -S

为了减少文件体积大小,所以这里就按需引入element组件,下载对应插件

npm install -D unplugin-vue-components unplugin-auto-import

然后把下列代码插入到你的 Vite 的配置文件(vite.config.js)中

(这里的文件还修改了element的主题色)

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/

//
export default defineConfig({
	resolve: {
		alias: {
			"@": resolve(__dirname, './src')
		}
	},
	css: {
		preprocessorOptions: {
			scss: {
				additionalData: `@use "@/assets/styles/theme/index.scss" as *;`,
			},
		},
	},
	plugins: [
		vue(),
		AutoImport({
			resolvers: [ElementPlusResolver()],
		}),
		Components({
			resolvers: [
				ElementPlusResolver({
					importStyle: "sass",
					// directives: true,
					// version: "2.1.5",
				}),
			],
		}),
	],
	// 配置前端服务地址和端口
	server: {
		port: 8991,
		// 是否开启 https
		https: false,
	},

})
  • 安装sass

注意:这里只需要安装sass依赖就可以了,不需要像wepack还要配置scss-loader等,就可以直接使用scss了

yarn add sass -D

完成以上步骤,基本项目使用就可以了,其他配置可以根据自己的项目来安装

package.json文件

{
  "name": "calendar_vite_pro",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "axios": "^1.2.2",
    "element-plus": "^2.2.28",
    "pinia": "^2.0.28",
    "pinia-plugin-persistedstate": "^3.0.2",
    "vue": "^3.2.45",
    "vue-router": "^4.1.6"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.0.0",
    "sass": "^1.57.1",
    "unplugin-auto-import": "^0.12.1",
    "unplugin-vue-components": "^0.22.12",
    "vite": "^4.0.0"
  }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C技能树-判断语句

三个数从小到大排序并输出 任意输入3个整数&#xff0c;使用if语句对这3个整数由小到大进行升序排序。请判断下面哪一项无法实现该功能。 #include <stdio.h>/* 交换x和y */ void swap(int* x, int* y) {int temp *x;*x *y;*y temp; }int main(int argc, char** arg…

[红明谷CTF 2021]write_shell

目录 信息收集 payload 补充知识 信息收集 代码审计 <?php error_reporting(0); highlight_file(__FILE__); function check($input){if(preg_match("/| |_|php|;|~|\\^|\\|eval|{|}/i",$input)){// if(preg_match("/| |_||php/",$input)){die(h…

(二十七)Map集合体系

目录 前言: 一、Map集合的遍历方式之一:键找值 二、Map集合的遍历方式之二:键值对 三、Map集合的遍历方式之三:Lambda表达式 四、Map集合的实现类HashMap 五、Map集合的实现类LinkedHashMap 六、Map集合的实现类TreeMap 七、不可变集合 前言: ①Map集合是一种双列集合&a…

机器学习中的聚类算法

1. 概述根据所拥有的数据&#xff0c;可以使用三种不同的机器学习方法&#xff0c;包括监督学习、半监督学习和无监督学习。在监督学习中&#xff0c;根据已标记数据&#xff0c;因此可以确定输出是关于输入的正确值。通过半监督学习&#xff0c;用户将拥有一个大型数据集&…

提高mysql性能:设计阶段

合适的表设计 基本原则 避免太多的列 太多的列会导致mysql从行缓存中将编码过的列转换为行数据时花费大量大代价。 减少太多的关联 为减少太多的关联造成解析和查询的性能影响&#xff0c;应该将单表的关联控制在12个之内。 合理使用枚举 枚举只适用于值相对固定&#x…

go入门——基础语法

go环境安装 1、安装 go官网&#xff1a;Downloads - The Go Programming Language (google.cn) go中文网&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com) 这里我是amd64位win10系统&#xff0c;所以我下载这个 下载完成之后安装到自己喜欢的目录就好…

Java:基于XML的Spring使用【IOC容器】

基于XML的Spring使用一、Spring IOC 底层实现1.1 BeanFactory与ApplicationContexet1.2 图解IOC类的结构二、 Spring依赖注入数值问题【重点】2.1 字面量数值2.2 CDATA区2.3 外部已声明bean及级联属性赋值2.4 内部bean2.5 集合三、 Spring依赖注入方式【基于XML】3.1 set注入3.…

电子技术——MOS管的CV特性

电子技术——MOS管的CV特性 MOS管是一种压控晶体管&#xff0c;本节我们学习MOS管的CV特性&#xff0c;即电压-电流特性。MOS管的特性曲线有两种&#xff0c;分别是伏安特性和传导特性。 iD−vDSi_D-v_{DS}iD​−vDS​ 特性曲线 为了测量MOS管的 iD−vDSi_D-v_{DS}iD​−vDS​…

ctfshow黑盒测试篇

文章目录web380web381web382web383web384web385web386web387web388web389web390web391web392web393web394、395web380 目录扫出来了page.php $id应该是传的参数&#xff0c;是php的文件名 page.php?idflag 访问源码拿到flag web381 就是这个目录 /alsckdfy/ 访问就是flag …

力扣(LeetCode)1664. 生成平衡数组的方案数(C++/Python3)

题目描述 模拟 逆向思维&#xff08;删除元素的性质&#xff09;&#xff1a;删除数组的某个元素&#xff0c;左侧元素的下标不变&#xff0c;右侧元素的下标发生奇偶替换。 算法流程 ① 由于算法从右往左枚举&#xff0c;预处理左侧的奇数下标元素之和oddl&#xff0c;偶数下…

过万春节服务全是问题无语了-Harbor镜像仓库访问404

1、背景 春节后的周六补班&#xff0c;累啊&#xff0c;到公司发现docker和kubelet服务都被停止了&#xff0c;可能是春节期间担心发生安全隐患吧&#xff0c;服务启动后发现很多镜像无法拉取了 到相关的节点上去尝试拉取镜像发现报了404错误 docker pull xxx.xxx.xxx.xxx/d…

初学者如何学好Java数组,不妨点进来看看,赶在新年前肝完的万字博客

新年好~~~新年开篇万字博客 —Java数组的学习,有点干货,建议收藏观看!!! 本篇介绍了数组的概念,数组创建和初始化.数组的使用(元素访问,和数组遍历方法),初识引用数据类型,简单介绍JVM内存分布,认识null,堆区空间的释放 二维数组相关知识的介绍~ 学习Java中的数组一.数组的基本…

变增益PID(含5种变增益模式PLC源代码+Simulink仿真)

变增益PID的详细理论讲解和应用场景,请参看下面的文章链接: 增益自适应PI控制器+死区过滤器(Smart PLC向导PID编程应用)_RXXW_Dor的博客-CSDN博客增益自适应和死区过滤器如果不和S7-200 SMART PLC PID向导组合实现,大家可以自行编写优化的PID指令。算法起始非常简单,具体…

2 分钟就能抓取任何网站的数据是怎么做到的?? #Browse AI

尽管现在使用网络的方式或多或少与 20 年前相同&#xff0c;但网络在我们生活中占据的地位越来越重要&#xff0c;网站却变得越来越繁琐。最重要的是&#xff0c;即使网络上有大量有价值的实时数据&#xff0c;收集它们也是非常昂贵和耗时的。Browse AI 是一款可以从任何网站提…

untiy TextMeshPro(简称TMP)组件详细内容

首先unity官方API对该组件的描述是&#xff1a; TextMeshPro 是 Unity 的最终文本解决方案。它是 Unity UI Text 和旧版 Text Mesh 的完美替代方案。 功能强大且易于使用的 TextMeshPro&#xff08;也称为 TMP&#xff09;使用高级文本渲染技巧以及一组自定义着色器&#xff1b…

Numpy(4)—Numpy 数组操作(修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除

Numpy 数组操作 &#xff08;1&#xff09;修改数组形状 import numpy as npa np.arange(8) print (原始数组&#xff1a;) print (a) print (\n)b a.reshape(4,2) print (修改后的数组&#xff1a;) print (b)1&#xff09;numpy.ndarray.flat import numpy as npa np.a…

【ARM体系结构】之寄存器与三级流水线

1、ARM核的寄存器组织 1.1 寄存器概念介绍 控制器&#xff1a;控制程序运行&#xff0c;进行取指令操作&#xff0c;并将指令给到对应的运算器执行指令。 运算器&#xff1a;执行汇编指令&#xff0c;执行指令需要的使用的数据来源于寄存器&#xff0c;并将执行的执行结果返回…

如何在服务器上安装相应的依赖和包

我感觉这一篇的逻辑写的比较奇怪&#xff0c;于是想重写一篇。 python setup.py install报错“error: can‘t create or remove files in install directory”_ACMSunny的博客-CSDN博客 开始遇到的问题是要跑的程序数据太大&#xff0c;咱们通常会将本机上的Python程序和数据…

MIT6.830-2022-lab6实验思路详细讲解

系列目录 lab1 地址 : lab1 lab2 地址 :lab2 lab3 地址 :lab3 lab4 地址 :lab4 lab5 地址 :lab5 lab6 地址 :lab6 文章目录系列目录一、实验概述SimpleDB日志格式steal/force策略:二、实验正文Exercise 1 - rollbackExercise 2 - Recovery总结一、实验概述 In this lab y…

【SAP Fiori】X档案:Node.js 与 SAPUI5 开发环境的安装与配置

Node.js 与 SAPUI5 开发环境的安装与配置一、安装Node.js1、下载2、安装3、配置环境变量4、验证5、更改路径6、更改镜像源二、安装 Vue.js1、安装Vue2、查看版本三、安装webpack1、安装webpack2、安装webpack-cli3、验证是否安装成功四、新建Vue项目1、创建项目2、启动项目五、…