vue3项目创建-配置-elementPlus导入-路由自动导入
目录
方法一:create-vue
方法二 :Vite + Vue
Vite.config.ts配置
引入element-plus
安装
如何在项目中使用 Element Plus
完整引入
按需导入
vue3+vite中自动配置路由的神器:vite-plugin-pages
1. 安装
2、修改vite.config.js中配置
3. main.js中路由配置
方法一:create-vue
1.前提环境条件
已安装 16.0 或更高版本的 Node.js
使用以下命令查看node版本:
node -v
2.创建一个Vue应用
执行:npm init vue@latest,这一指令将会安装并执行 create-vue
npm init vue@latest
Manually select features,手动选择
我的选择:
- less
- ESLint + Standard config
- Lint on save
- In dedicated config files(将配置文件放在单独文件中)
- Lint on save
- ESLint + Standard config
方法二 :Vite + Vue
npm create vite@latest
npm create vite@latest
命令是用来借助 Vite 构建工具快速生成一个新的前端项目。
Vite 采用原生 ES 模块导入方式,相比传统的打包工具,启动开发服务器的速度要快得多。
其他
禁用格式化插件prettier format on save,然后安装eslint,打开settings.json
添加以下规则
//实现自动格式化"editor.codeActionsOnSave": {"source.fixAll":true },//关闭保存自动格式化"editor.formatOnSave": false,
2.打开.eslintrc.cjs
添加规则
rules: {'prettier/prettier': ['warn',{singleQuote: true, //单引号semi: false, //无分号printWidth: 80, //每行宽度至多80trailingComma: 'none', //不加对象|数组最后逗号endOfLine: 'auto' //换行符号不限制}],//ESLint关注于规范'vue/multi-word-component-names': ['warn',{ignores: ['index'] //vue组件名称多单词组成(忽略index.vue)}],'vue/no-setup-props-destructure': ['off'], //关闭props解构的校验'no-undef': 'error'}
Vite.config.ts配置(没测试)
1.配置和pinia,router,axios,ref,reactive引入等等
2.配置代理
3.配置.ts,.vue,.tsx等等文件别名
4.配置antdV按需加载
5.配置antdV主题色+全局引入less+全局颜色变量
6.配置vue使用tsx写法
7.配置测试环境保留打印
import { defineConfig, loadEnv } from 'vite'
import type { UserConfig, ConfigEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx' //tsx插件引入
import AutoImport from 'unplugin-auto-import/vite' //自动引入ref,reactive等等等
// 配置antd-v按需加载
import Components from 'unplugin-vue-components/vite'
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
// import path from 'path';
import { resolve, join } from 'path'
import { wrapperEnv } from './build/utils'// defineConfig 工具函数,这样不用 jsdoc 注解也可以获取类型提示
export default defineConfig(({ command, mode }: ConfigEnv): UserConfig => {console.log(command, mode, '===')const root = process.cwd()const env = loadEnv(mode, root) // 环境变量对象console.log('环境变量------', env)console.log('文件路径( process.cwd())------', root)console.log('文件路径(dirname)------', __dirname + '/src')const { VITE_DROP_CONSOLE } = wrapperEnv(env)// // dev 独有配置return {root, //项目根目录(index.html 文件所在的位置) 默认: process.cwd()base: '/', // 开发或生产环境服务的公共基础路径:默认'/' 1、绝对 URL 路径名: /foo/; 2、完整的 URL: https://foo.com/; 3、空字符串或 ./(用于开发环境)publicDir: resolve(__dirname, './dist'), //默认'public' 作为静态资源服务的文件夹 (打包public文件夹会没有,里面得东西会直接编译在dist文件下)assetsInclude: resolve(__dirname, './src/assets'), // 静态资源处理// ******插件配置******plugins: [vue(),vueJsx(),AutoImport({imports: ['vue','vue-router','pinia',{axios: [['default', 'axios'] // import { default as axios } from 'axios',]}],dts: 'types/auto-import.d.ts' //生成全局引入的文件}),Components({resolvers: [AntDesignVueResolver({importStyle: 'less' //修改antdv主题色})]})], //配置插件// ******开发服务器配置******server: {https: true, //(使用https)启用 TLS + HTTP/2。注意:当 server.proxy 选项 也被使用时,将会仅使用 TLShost: true, // 监听所有地址port: 8080, //指定开发服务器端口:默认3000open: true, //启动时自动在浏览器中打开cors: false, //为开发服务器配置 CORSproxy: {//配置自定义代理规则// 字符串简写写法'/jpi': 'http://192.168.1.97:4567','/api': {target: 'http://192.168.1.97:108',changeOrigin: true, //是否跨域rewrite: path => path.replace(/^\/api/, '')}}// hmr: {// overlay: false// }},// ******项目构建配置******build: {target: 'modules', //设置最终构建的浏览器兼容目标 //es2015(编译成es5) | modulesoutDir: 'dist', // 构建得包名 默认:distassetsDir: 'assets', // 静态资源得存放路径文件名 assetssourcemap: false, //构建后是否生成 source map 文件brotliSize: false, // 启用/禁用 brotli 压缩大小报告。 禁用该功能可能会提高大型项目的构建性能minify: 'esbuild', // 项目压缩 :boolean | 'terser' | 'esbuild'chunkSizeWarningLimit: 1000, //chunk 大小警告的限制(以 kbs 为单位)默认:500cssTarget: 'chrome61' //防止 vite 将 rgba() 颜色转化为 #RGBA 十六进制符号的形式 (要兼容的场景是安卓微信中的 webview 时,它不支持 CSS 中的 #RGBA 十六进制颜色符号)},// ******resolver配置******resolve: {alias: {// 别名配置// 键必须以斜线开始和结束'@': resolve(__dirname, 'src'),components: resolve(__dirname, './src/components'),assets: resolve(__dirname, './src/assets'),'#': resolve(__dirname, 'types'),build: resolve(__dirname, 'build')}},// ******打印+debugger清除配置******// 测试环境保留打印esbuild: {pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : []},css: {// 全局变量+全局引入less+配置antdv主题色preprocessorOptions: {less: {javascriptEnabled: true,// 全局变量使用:@primary-colormodifyVars: {'primary-color': '#1890ff', // 全局主色'link-color': ' #1890ff', // 链接色'success-color': ' #52c41a', // 成功色'warning-color': ' #faad14', // 警告色'error-color': ' #f5222d', // 错误色'font-size-base': ' 14px', // 主字号'heading-color': ' rgba(0, 0, 0, 0.85)', // 标题色'text-color': ' rgba(0, 0, 0, 0.65)', // 主文本色'text-color-secondary': ' rgba(0, 0, 0, 0.45)', // 次文本色'disabled-color': ' rgba(0, 0, 0, 0.25)', // 失效色'border-radius-base': ' 2px', // 组件/浮层圆角'border-color-base': ' #d9d9d9', // 边框色'box-shadow-base': ' 0 2px 8px rgba(0, 0, 0, 0.15)' // 浮层阴影}}}}}
})
引入element-plus
Element-Plus官方网址
安装
npm install element-plus --save
如何在项目中使用 Element Plus
完整引入
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'const app = createApp(App)app.use(ElementPlus)
app.mount('#app')
按需导入
您需要使用额外的插件来导入要使用的组件。
自动导入推荐
首先你需要安装unplugin-vue-components
和 unplugin-auto-import
这两款插件
npm install -D unplugin-vue-components unplugin-auto-import
然后把下列代码插入到你的 Vite
或 Webpack
的配置文件中
Vite
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'export default defineConfig({// ...plugins: [// ...AutoImport({resolvers: [ElementPlusResolver()],}),Components({resolvers: [ElementPlusResolver()],}),],
})
vue3+vite中自动配置路由的神器:vite-plugin-pages
1. 安装
npm install vite-plugin-pages
2、修改vite.config.js中配置
import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
import Pages from 'vite-plugin-pages' //自动导入路由插件// https://vite.dev/config/
export default defineConfig({plugins: [vue(),vueDevTools(),Pages({dirs:[{dir:'src/views',baseRoute:''},{dir:'src/components',baseRoute:''}] }), //自动导入路由插件配置],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
})
也可以选择其他配置
plugins: [...Pages({// 自动读取src/views下的vue文件,生成路由信息,默认路由路径'/‘dirs: [{ dir: "src/views", baseRoute: "/" }],})]
2. 不将所有 components 目录下的 .vue 文件生成路由
Pages({// 排除在外的目录,即不将所有 components 目录下的 .vue 文件生成路由exclude: ['**/components/*.vue'],}),
3. main.js中路由配置
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'import { createRouter, createWebHashHistory } from "vue-router"
// 这里就是vite-plugin-pages生成的路由信息,正常使用即可
import routes from "virtual:generated-pages"const router = createRouter({history: createWebHashHistory(),routes
})const app = createApp(App)app.use(ElementPlus)
app.use(createPinia())
app.use(router)app.mount('#app')
相关文章:

vue3项目创建-配置-elementPlus导入-路由自动导入
目录 方法一:create-vue 方法二 :Vite Vue Vite.config.ts配置 引入element-plus 安装 如何在项目中使用 Element Plus 完整引入 按需导入 vue3vite中自动配置路由的神器:vite-plugin-pages 1. 安装 2、修改vite.config.js中配置…...

MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置
视频讲解: MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置 今天分享的主题为创建自动化脚本编译MUSE Pi Pro的kernel内核,脚本已经上传到中 GitHub - LitchiCheng/MUSE-Pi-Pro-Learning: MUSE-Pi-Pro-Learning ,有需要可以自行clon…...
Java大师成长计划之第20天:Spring Framework基础
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在Java开发领域,Spring …...

Innovus 25.1 版本更新:助力数字后端物理设计新飞跃
在数字后端物理设计领域,每一次工具的更新迭代都可能为项目带来巨大的效率提升与品质优化。今天,就让我们一同聚焦 Innovus 25.1 版本(即 25.10 版本)的更新要点,探寻其中蕴藏的创新能量。 一、核心功能的强势进 AI…...
FastAPI 和 MongoDB 实现请求头参数处理的示例,并在 React 中进行渲染
FastAPI 和 MongoDB 后端 安装必要的库 安装 FastAPI、Uvicorn、Motor(用于 MongoDB 的异步驱动)和 Pydantic(用于数据验证)。 pip install fastapi uvicorn motor pydantic创建 FastAPI 应用 创建一个文件 main.py,并…...

CodeBuddy 中国版 Cursor 实战:Redis+MySQL双引擎驱动〈王者荣耀〉战区排行榜
文章目录 一、引言二、系统架构设计2.1、整体架构概览2.2、数据库设计2.3、后端服务设计 三、实战:从零构建排行榜3.1、开发环境准备3.2、用户与战区 数据管理3.2.1、MySQL 数据库表创建3.2.2、实现用户和战区数据的 CURD 操作 3.3、实时分数更新3.4、排行榜查询3.5…...
码蹄集——分解、数组最大公约数、孪生质数、卡罗尔数、阶乘数
MT1158 分解 输入正整数N和M,判断N是否可以分解成M个不同的正整数的和,输出YES或者NO。 格式 输入格式:输入正整数N和M,空格分隔 输出格式:输出YES或者NO 样例 1 输入:5 2 输出:YES 思路…...
【React中函数组件和类组件区别】
在 React 中,函数组件和类组件是两种构建组件的方式,它们在多个方面存在区别,以下详细介绍: 1. 语法和定义 类组件:使用 ES6 的类(class)语法定义,继承自 React.Component。需要通过 this.props 来访问传递给组件的属性(props),并且通常要实现 render 方法返回 JSX…...
Idea Code Templates配置
Templates配置 配置位置模板案例 配置位置 Settings->Editor->File and Code Templates模板案例 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ! "")package ${PACKAGE_NAME};#endimport com.ktools.common.dataprocess.DataProcess; import com.ktools…...

在线SQL转ER图工具
在线SQL转ER图网站 在数据库设计、软件开发或学术研究中,ER图(实体-关系图) 是展示数据库结构的重要工具。然而,手动绘制ER图不仅耗时费力,还容易出错。今天,我将为大家推荐一款非常实用的在线工具——SQL…...

python高级特性
json.dumps({a:1,n:2}) #Python 字典类型转换为 JSON 对象。相当于jsonify data2 json.loads(json_str)#将 JSON 对象转换为 Python 字典 异步编程:在异步编程中,程序可以启动一个长时间运行的任务,然后继续执行其他任务,而无需等…...

汇编:子程序设计
一、 实验要求 实验目的: 熟练掌握算术运算汇编指令的使用熟练掌握子程序设计的基本方法熟练掌握程序的调试方法 实验内容: 编程实现两个数:#8888H和#79H的乘除运算结合实验1的代码,将加减乘除四则运算写成四个子程序ÿ…...

从概念表达到安全验证:智能驾驶功能迎来系统性规范
随着辅助驾驶事故频发,监管机制正在迅速补位。面对能力表达、使用责任、功能部署等方面的新要求,行业开始重估技术边界与验证能力,数字样机正成为企业合规落地的重要抓手。 2025年以来,围绕智能驾驶功能的争议不断升级。多起因辅…...
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
最近在打python3.12的镜像,安装browser-gym的核心库,编译一个使用browswer agents的环境,然后出现了下面的问题: error: cannot uninstall blinker 1.7.0, record file not found. hint: the package was installed by debian.系…...

DeepSeek基于注意力模型的可控图像生成
DeepSeek大模型高性能核心技术与多模态融合开发 - 商品搜索 - 京东 图像的加噪与模型训练 在扩散模型的训练过程中,首先需要对输入的信号进行加噪处理,经典的加噪过程是在图像进行向量化处理后在其中添加正态分布,而正态分布的值也是与时间…...
“端 - 边 - 云”三级智能协同平台的理论建构与技术实现
摘要 随着低空经济与智能制造的深度融合,传统集中式云计算架构在实时性、隐私保护和资源效率上的瓶颈日益凸显。本文提出“端 - 边 - 云”三级智能协同平台架构,以“时空 - 资源 - 服务”三维协同理论为核心,构建覆盖终端感知、边缘计算、云端…...

AI时代,如何实现人机共舞?
在科技飞速发展的当下,人工智能(AI)已不再是科幻作品中的遥远想象,而是深入渗透到我们生活与工作的方方面面。从智能手机中的语音助手,到金融领域的风险预测模型;从医疗影像的智能诊断,到工业生…...
component :is是什么?
问: component :is是什么? 是组件? 那我们是不是就不需要自己创建组件了?还是什么意思?component :is和什么功能是类似的,同时和类似功能相比对什么时候用component :is…...
2025 3D工业相机选型及推荐
3D工业相机是专门为工业应用设计的三维视觉采集设备,能够获取物体的三维空间信息,在智能制造、质量检测、机器人引导等领域有广泛应用。 一、主要类型 1.结构光3D相机 通过投射特定光斑或条纹图案并分析变形来重建三维形状 典型代表:双目结构…...

OceanBase 在业务监控系统中的应用实践
本文作者来自于一家总部在宁波的新能源上市公司,公司业务包括光伏新能源产品的研发与产销。 作为年产值达百亿的企业,监控系统是不可或缺的IT管理体系之一,对于确保业务连续性及预警风险非常重要。2022年,公司选择把Zabbix作为企业…...

每日Prompt:品牌化键盘键帽
提示词 一个超逼真的3D渲染图,展示了四个机械键盘键帽,排列成紧密的2x2网格,所有键帽相互接触。从等轴测角度观察。一个键帽是透明的,上面用红色印刷着“{just}”字样。另外三个键帽采用颜色:{黑色、紫色和白色}。一个…...
RabbitMQ发布订阅模式深度解析与实践指南
目录 RabbitMQ发布订阅模式深度解析与实践指南1. 发布订阅模式核心原理1.1 消息分发模型1.2 核心组件对比 2. 交换机类型详解2.1 交换机类型矩阵2.2 消息生命周期 3. 案例分析与实现案例1:基础广播消息系统案例2:分级日志处理系统案例3:分布式…...

超声波传感器模块
欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 1.HC-SR04介绍2.HC-SR04原理介绍2.1原理概述3.2原理详解 4驱动代码编写4.1写前思考4.2硬件连线 5.总结hcsr04.hhcsr04.c 1.HC-SR04介绍 超声波传感器有很多种类的型号:HC-SR04、UC-025、…...

LeetCode 513 找树左下角的值 LeetCode 112 路径总和 LeetCode106 从中序与后序遍历序列构造二叉树
LeetCode 513 找树左下角的值 迭代法——层序遍历 思路:对树进行层序遍历操作,层序遍历完后,输出树最后一层的第一个节点。 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, r…...
Docker常见问题全攻略:从安装到优化
常见Docker安装问题及解决方案 系统兼容性问题排查安装过程中权限不足的解决方法网络配置问题导致安装失败的修复 系统兼容性问题排查 Docker在安装过程中可能会遇到系统兼容性问题,尤其是在较旧的操作系统或特定硬件架构上。确保操作系统版本符合Docker的最低要…...

『大模型笔记』Langchain作者Harrison Chase专访:环境智能体与全新智能体收件箱
Langchain作者Harrison Chase专访:环境智能体与全新智能体收件箱 文章目录 摘要访谈内容什么环境智能体为什么要探索环境智能体怎么让人类能更方便地和环境智能体互动参考文献摘要 LangChain 的 CEO Harrison Chase 提出了_“环境智能体”(Ambient Agents)的概念,这是一种…...
Kafka集群加入新Broker节点会发生什么
Kafka集群加入新Broker节点会发生什么 当向现有的Kafka集群添加新的Broker节点时,会触发一系列自动和手动的过程。以下是详细的流程和影响: 自动发生的流程 集群发现与注册 新Broker启动时会向ZooKeeper注册自己加入集群的/brokers/ids路径下其他Broke…...

SpringBoot的外部化配置
一、什么是外部化配置 外部化配置是指把应用程序中各种可配置的参数、属性等信息,从代码内部提取出来,放置在外部的配置文件、数据库或配置中心等地方(比如使用.properties、.yml 或.xml 等格式的文件)进行管理。提高应用程序的可…...
3.5 统计初步
本章系统阐述统计推断理论基础,涵盖大数定律、抽样分布、参数估计与假设检验等核心内容。以下从六个核心考点系统梳理知识体系: 考点一:大数定律与中心极限定理 1. 大数定律 切比雪夫不等式: 设随机变量 X X X 的数学期望 E (…...

数字IC后端实现教程 | Early Clock Flow和Useful skew完全不是一个东西
数字后端零基础入门系列 | Innovus零基础LAB学习Day10 Q: Early clock flow和useful skew都是做短某段路径,这两个有什么区别呢,既然这样还用useful skew是不是有点多余了? Useful Skew技术 在不使用useful skew技术,第一级FF到第二级FF的…...