从零开始创建vue3项目——包含项目初始化、element-plus、eslint、axios、router、pinia、echarts

news2025/1/16 7:46:28

项目启动

初始化vue3项目

  1. 这里建议先下载pnpm,下载速度更快,如果还没下载可以使用
    npm install -g pnpm
    如果遇到报错问题,如下
    在这里插入图片描述

可以在命令行输入下面的指令以切换到淘宝镜像源
npm config set registry https://registry.npm.taobao.org

  1. 创建项目
    命令行输入pnpm create vue

根据自己的需要选择安装插件即可
在这里插入图片描述

  1. 试运行
    命令行中也有提示,输入
cd vue-demo
pnpm install
pnpm dev

即可运行项目
在这里插入图片描述

页面中的都是vue官网链接以及一些提示,感兴趣的可以自己看看

配置Element-plus

ement-plus官网链接

  1. 导入有完整导入和按需导入两种,推荐使用按需导致,减少代码包的大小
    首先安装element-plus
    pnpm install element-plus
    使用按需导入需额外下载插件
    pnpm install -D unplugin-vue-components unplugin-auto-import

  2. 然后修改vite.config.js文件,导入插件

// vite.config.js
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()],
    }),
  ],
})
  1. 由于element-plus默认是英文,如需修改成中文可以如下操作
<script setup>
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script>

<template>
  <!-- App.vue只需要留一个路由出口 -->
  <el-config-provider :locale="zhCn">
    <router-view></router-view>
  </el-config-provider>
</template>

配置eslint

  1. 刚才初始化vue项目的时候可选配置eslint,如果没有选的在命令行输入
    pnpm install eslint

  2. 下载成功后会在目录中看到 .eslint.cjs 文件,打开文件修改其中内容如下,其中内容也都可以自己按需求更改

/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')

module.exports = {
  root: true,
  extends: [
    'plugin:vue/vue3-essential',
    'eslint:recommended',
    '@vue/eslint-config-prettier/skip-formatting'
  ],
  parserOptions: {
    ecmaVersion: 'latest'
  },
  rules: {
    //禁用格式化插件 format on save关闭
    //安装Eslint 并配置保存时自动修复
    'prettier/prettier': [
      'warn',
      {
        singleQuote: true, // 单引号
        semi: false, // 无分号
        printWidth: 80, // 每行宽度至多80字符
        trailingComma: 'none', // 不加对象|数组最后逗号
        endOfLine: 'auto' // 换行符号不限制(win mac 不一致)
      }
    ],
    'vue/multi-word-component-names': [
      'warn',
      {
        ignores: ['index'] // vue组件名称多单词组成(忽略index.vue)
      }
    ],
    'vue/no-setup-props-destructure': ['off'], // 关闭 props 解构的校验
    'no-undef': 'error'
  },
  globals: {
    ElMessage: 'readonly',
    ElMessageBox: 'readonly',
    ElLoading: 'readonly'
  }
}

配置axios

  1. 安装axios
    pnpm install axios

  2. 建议在src目录中新建utils文件夹,其中新建request.js文件
    进行如下配置

import axios from 'axios'

//请求基地址
const baseURL = ''

const instance = axios.create({
  // TODO 1. 基础地址,超时时间
  baseURL,
  timeout: 1000000
})

//响应拦截器
instance.interceptors.response.use(
  (res) => {
    // TODO 3. 处理业务失败
    // TODO 4. 摘取核心响应数据
    if (res.data.code === 0) {
      return res
    }
    //处理业务失败,给错误提示
    ElMessage.error(res.data.message || '服务异常')
    return Promise.reject(res.data)
  },
  (err) => {
    //错误默认情况 => 只给提示就行
    ElMessage.error(err.response.data.message || '服务异常')
    return Promise.reject(err)
  }
)

export default instance
export { baseURL }
  1. 请求基地址和拦截器一定要根据后端实际的接口进行修改哦!

配置router

  1. 同样的,初始化项目时也可选router,没有选的话命令行输入
    pnpm install router

  2. 建议在src目录中新建router文件夹,其中新建index.js文件

  3. 根据自己实际的目录结构配置哦!

import { createRouter, createWebHistory } from 'vue-router'
//createRoute用于创建路由示例
//配置history模式
//1. createWebHistory  地址栏不带#
//2. createWebHashHistory   地址栏带#
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      component: () => import('@/views/layout/LayoutContainer.vue'),
      // 默认跳转
      redirect: '/index/UserManagement',
      children: [
        {
          path: '/index/UserManagement',
          component: () => import('@/views/index/UserManagement.vue')
        }
      ]
    }
  ]
})

export default router

配置pinia

  1. 同样的,初始化项目时没有选择pinia的命令行输入
    pnpm install pinia

  2. 建议在src目录中新建stores文件夹,其中新建index.js文件,再在stores中新建modules文件夹,其中新建user.js文件,在index.js中导出pinia实例

  3. index.js进行如下配置,这样配置之后,页面中使用pinia就可以直接在页面中导入这个index.js文件,更加方便

import { createPinia } from 'pinia'
import persist from 'pinia-plugin-persistedstate'

const pinia = createPinia()
pinia.use(persist)

export default pinia

export * from './modules/user'
  1. user.js中文件进行如下配置
import { defineStore } from 'pinia'
import { ref } from 'vue'

//本案例为用户模块,可以自己根据需要更改,demoname也根据实际修改
export const useUserStore = defineStore(
  'demoname',
  () => {
    //自定义属性名
    const token = ref('')
    //自定义方法
    const setToken = (newToken) => {
      token.value = newToken
    }
    const removeToken = () => {
      token.value = ''
    }
    //记得return暴露自定义的属性和方法
    return {
      token,
      setToken,
      removeToken
    }
  },
  //持久化
  {
    persist: true
  }
)

配置 echarts

echarts官网

  1. 命令行输入,echarts就无法在项目初始化的时候直接配置了,需要手动配置
    pnpm install echarts

  2. 在main.js中进行配置,即可全局挂载echarts

import './assets/main.scss'

import { createApp } from 'vue'
import { createPinia } from 'pinia'

import App from './App.vue'
import router from './router'

import ECharts from 'vue-echarts' // 全局引入ECharts
import 'echarts' // 全局引入echarts
// 挂载ECharts   参数1:vue文件中挂载echarts的名字  参数2:挂载的组件

const app = createApp(App)

app.use(createPinia())
app.use(router)
//echarts
app.component('ECharts', ECharts)

app.mount('#app')

  1. 如果要实现简单的echarts图表,还是前往官网查看

共勉

有不会的多去官网查找看看,大家一起加油学习吧!

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

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

相关文章

Facebook云手机引流运营方法

Facebook&#xff0c;作为全球用户数达到30亿的最大社交媒体平台&#xff0c;汇聚了各类客户群体&#xff0c;蕴藏着巨大的商业潜力。对于外贸电商而言&#xff0c;Facebook是不可或缺的营销平台。一方面&#xff0c;我们可以在Facebook上发布产品信息&#xff0c;寻找并筛选目…

linux系统进程占cpu 100%解决步骤

1.查找进程 ps aux 查看指定进程: ps aux | grep process_name2.根据进程查找对应的主进程 pstree -p | grep process_name 3.查看主进程目录并删除 ps -axu | grep process_name rm -rf /usr/bin/2cbbb

PDF-Extract-Kit

文章目录 一、关于 PDF-Extract-Kit整体介绍效果展示 二、评测指标1、布局检测2、公式检测3、公式识别 三、安装四、模型下载1、安装 Git LFS2、从 Hugging Face 下载模型3、从 ModelScope 下载模型SDK 下载Git 下载 五、运行提取脚本六、其它待办事项协议致谢 一、关于 PDF-Ex…

Spark实时(三):Structured Streaming入门案例

文章目录 Structured Streaming入门案例 一、Scala代码如下 二、Java 代码如下 三、以上代码注意点如下 Structured Streaming入门案例 我们使用Structured Streaming来监控socket数据统计WordCount。这里我们使用Spark版本为3.4.3版本&#xff0c;首先在Maven pom文件中导…

Delphi 11.2 配置Android SDK 环境

打开 Delphi 11 点击 Tools–Options… 然后点击 Deployment–SDK Manager–Add… 这里如果配置64位就选 Android 64-bit&#xff0c;如果配置32位就选 Android 32-bit 点击 Select an SDK version–Add New… 有警告图标的就是有问题的项&#xff0c;需要手动更新一下&#xf…

NO.1 Hadoop概述

1.1 Hadoop是什么 1.2 Hadoop优势 1.3 Hadoop组成 1.3.1 HDFS架构概述 1.3.2 YARN架构概述 1.3.3 MapReduce架构概述 1.3.4 HDFS、YARN、MapReduce三者关系 1.4 大数据技术生态体系 1.5 推荐系统框架图

【UE5】可反射的射线检测

目录 效果 步骤 一、准备射线 二、生成第一次反射后的射线 三、多次反射 四、通过循环进行多次反射 效果 步骤 一、准备射线 1. 新建一个工程&#xff0c;添加一个俯视角游戏资源包 2. 双击打开俯视角游戏地图 删除大纲中的后期处理体积使得地图可以正常显示 3. 添加一…

【JavaEE初阶】线程的概念及创建

目录 &#x1f4d5; 前言 &#x1f4d5; 认识线程&#xff08;Thread&#xff09; &#x1f6a9; 概念 &#x1f60a;线程是什么 &#x1f642; 为啥要有线程 &#x1f62d; 进程和线程的区别&#xff08;面试题重点&#xff09; &#x1f92d; Java的线程和操作系统线程…

黑马JavaWeb企业级开发(知识清单)01——前端介绍,HTML实现标题:排版

文章目录 前言一、认识web前端、HTML、CSS二、VS Code开发工具&#xff08;插件弃用问题&#xff09;三、HTML结构标签介绍1. 标签页标题< title >2. 图片标签< img >1) 常见属性2) src路径书写方式 3. 标题标签< h >4. 水平分页线标签< hr > 四、用Vs…

“萝卜快跑”自动驾驶技术,夺走了谁的方向盘?

在前几年&#xff0c;科幻电影中无人驾驶车自如地穿梭在城市大街小巷的场景&#xff0c;似乎还遥不可及&#xff0c;然而&#xff0c;随着“萝卜快跑”无人驾驶车辆在多个城市的成功运营&#xff0c;这一愿景已悄然变为现实。由百度Apollo倾力打造的“萝卜快跑”&#xff0c;以…

基于FPGA的以太网设计(3)----详解各类xMII接口

1、什么是xMII接口 MII (Media Independent Interface)接口,即介质无关接口或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。“介质无关” 表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。 MII接口是MAC和PHY之间的通信接口,MAC产生…

STM32(七):STM32指南者-串口实验

目录 一、基本概念通讯基本概念1、串行和并行2、同步通讯与异步通讯3、全双工、半双工、单工4、通讯速率 串口基本概念1、串口通讯基本概念2、物理层3、协议层 指南者的串口USART 二、串口实验前期准备1、安装安装 USB 转串口驱动_CH3402、野火多功能调试助手3、使用USB转串口&…

RedHat9 | Ansible 编写循环和条件任务

环境版本说明 RedHat9 [Red Hat Enterprise Linux release 9.0]Ansible [core 2.13.3]Python [3.9.10]jinja [3.1.2] 1. 利用循环迭代任务 通过利用循环&#xff0c;管理员无需编写多个使用同一模块的任务。Ansible支持使用loop关键字对一组项目迭代任务&#xff0c;通过配置…

基于单片机控制的变压器油压油温故障检测

摘 要 在电力系统的运行中&#xff0c;通过对其核心设备变压器的故障进行检测&#xff0c;以此能够及时、准确的发现变压器的故障&#xff0c;基于单片机控制的变压器油压油温的故障检测的方法&#xff0c;利用压力传感器、温度传感器对变压器的油压、油温进行采集并送入单片机…

靶机Metasploitable2的安装

Metasploitable2是一款基于Ubuntu Linux的操作系统。Metasploitable2是一个虚拟机文件&#xff0c;从网上下载解压之后就可以直接使用&#xff0c;无需安装。该系统本身设计作为安全工具测试和演示常见漏洞攻击的靶机&#xff0c;所以它存在大量未打补丁漏洞&#xff0c;并且开…

Xilinx Ultrascale+ FPGA 驱动MIPI DSI屏显示源码工程

作者&#xff1a;Hello&#xff0c;Panda 大家早上好&#xff0c;中午好&#xff0c;下午好&#xff0c;我是熊猫君。 曾记否&#xff0c;之前熊猫家发了一篇博文《分享一下使用Xilinx FPGA驱动MIPI DSI屏的心路历程》&#xff0c;此文发布以后&#xff0c;后台收到了不少朋友…

Ubuntu 22.04安装Visual Studio Code(VS Code)配置C++,Python

目录 1,下载 通过命令行安装 2,配置 2.1 vscode安装C/C 2.1.1 vscode安装运行环境 3,测试 vscode测试 4&#xff0c;配置python 选择解释器Python是一个解释性语言&#xff0c;现在需告知VSCode使用哪个解释器 ctrlshiftp 输入&#xff1a;Python: Select Interprete…

记一次因敏感信息泄露而导致的越权+存储型XSS

1、寻找测试目标 可能各位师傅会有苦于不知道如何寻找测试目标的烦恼&#xff0c;这里我惯用的就是寻找可进站的思路。这个思路分为两种&#xff0c;一是弱口令进站测试&#xff0c;二是可注册进站测试。依照这个思路&#xff0c;我依旧是用鹰图进行了一波资产的搜集&#xff…

学习笔记:MySQL数据库操作4

一、数据库和表的创建 创建数据库&#xff1a; 使用create database语句创建一个新的数据库&#xff0c;例如&#xff1a; 选择数据库&#xff1a; 使用use语句来指定后续操作的数据库&#xff0c;例如&#xff1a; 创建表&#xff1a; 使用create table语句来创建表&#xff0…

Java面试八股之后Spring、spring mvc和spring boot的区别

Spring、spring mvc和spring boot的区别 Spring, Spring Boot和Spring MVC都是Spring框架家族的一部分&#xff0c;它们各自有其特定的用途和优势。下面是它们之间的主要区别&#xff1a; Spring: Spring 是一个开源的轻量级Java开发框架&#xff0c;最初由Rod Johnson创建&…