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

news2024/11/18 14:01:34

vite官网

一:初始化项目

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 expose
    port: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 expose
    port: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 sass-loader
<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.coloradmin.cn/o/135992.html

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

相关文章

网络流量监控为某图书馆系统排忧解难(一)

前言 某学校图书馆信息中心老师反应&#xff0c;用户反馈系统有访问慢的情况&#xff0c;需要通过流量分析系统来了解图书馆系统的运行情况&#xff0c;此报告专门针对图书馆系统的性能数据做了分析。 信息中心已部署NetInside流量分析系统&#xff0c;使用流量分析系统提供实…

PB数据库开发技术(七)-PowerBuilder小型数据库应用系统开发

PowerBuilder小型数据库应用系统开发 实验目的 利用前面学过的知识设计一个“图书馆管理系统”,从而进一步掌握powerbuilder数据库开发的基本步骤和方法。 二.实验步骤 建立数据库“图书管理系统”,向数据库中添加操作员表、借书还书表、图书表以及相应数据

Unity 项目中怎样正确的使用 Lua?

&#xff08;图源siki学院-狸墨老师&#xff09; 什么是Lua Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。可以方便的与c/c进行相互调用。但…

Redis:二、Redis常见命令

2. Redis常见命令 2.1 Redis数据结构介绍 Redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;不过value的类型多种多样 Redis为了方便我们学习&#xff0c;将操作不同数据类型的命令也做了分组&#xff0c;在官网&#xff08; http://www.redis.cn/…

【JAVA进阶】常用API

&#x1f4c3;个人主页&#xff1a;个人主页 &#x1f525;系列专栏&#xff1a;JAVASE基础 目录 1.API概述 2.Object类 3.Objects 4.StringBuilder 5.日期与时间 Date 类 SimpleDateFormat Calendar 6.JDK8新增日期类 1.API概述 什么是API? API(Application Program…

Kettle(二)数据同步、迁移(基础版)

目录 1.配置源数据库A 1.1 文件-->数据库连接 1.2 配置数据库&#xff0c;选择自己的数据库并配置。 1.3 数据库配置可能会报错&#xff0c;原因是缺少数据库驱动 2.配置目标数据库&#xff08;与源数据库一致&#xff09; 3.数据迁移&#xff08;举例&#xff09; 3.…

IntelliJ IDEA的代码搁置功能

使用场景 当遇到需要临时修改的 bug&#xff0c;但当前正在开发的内容不能删掉&#xff0c;这个时候就需要把当前已经开发的代码另外保存下来&#xff08;即保存现场&#xff09;&#xff0c;当把 bug 改完后再恢复&#xff0c;来回归之前的开发工作&#xff0c;IntelliJ IDEA…

数据可视化系列-02各类图表的综合使用介绍及实践

文章目录3.各类图表的综合使用介绍及实践3.1了解数据功能图1、可视化中的数据2、基于数据的研究3、数据的可视化组件4、可视化图表的作用、制作流程和类型3.2北极星指标展示1、指标类知识回顾&#xff1a;指标类简介、指标类主要场景2、指标类图表&#xff1a;指标看板、指标趋…

Win11的两个实用技巧系列之更新进度条不动的三种解决方法、重置失败未做更改五种解决方法

目录 Win11更新进度条不动怎么办?Win11更新进度条不动的三种解决方法 方法一&#xff1a; 方法二&#xff1a; 方法三&#xff1a; Win11重置失败未做更改怎么办?Win11重置失败未做更改五种解决方法 方法一、重新启用Windows RE 方法二、使用SFC修复系统文件 方法三、从恢复…

java忽略证书验证(兼容http,https)

概述 日常上传、下载文件时可能有不需要验证证书的场景&#xff0c;比如证书过期、不正确之类的也可以正常的上传下载文件。 Java中使用https协议时&#xff0c;是通过X.509证书进行校验的。 首先我们先了解下什么是X.509证书。 什么是X.509证书 X.509是公钥基础设施&#x…

k8s部署prometheus

k8s部署prometheus 1.下载prometheus文件 cd /soft/src git clone -b release-0.5 --single-branch https://github.com/coreos/kube-prometheus.git2.部署 这里部署之前最好改一下alertmanager-alertmanager.yaml这个文件&#xff0c;将replicas:改成2或者3&#xff0c;当为…

Spark 3.0 - 17 ML PCA 主成分分析理论与实战

目录 一.引言 二.PCA 理论 1.主成分分析定义 2.数学基础 A.数据归一化 B.协方差矩阵计算 C.计算协方差矩阵的特征向量和特征值&#xff0c;以识别主成分 D.构造特征向量矩阵 E.沿着主成分轴重新计算数据 三.PCA 实战 1.数据准备 2.PCA 初始化 3.数据降维 四.总结 …

举一反三-自建zabbix监控php

php-fpm监控需要通过nginx服务。因此需要开启相关配置。 php-fpm如果是yum安装的&#xff0c;那么在/etc/php-fpm.d/www.config中编辑如下选项&#xff1a; pm.status_path /php_status 保存并退出编辑。重启php-fpm服务。 接下来编辑nginx配置项。编辑如下&#xff1a; l…

Linux下cal命令C/C++实现(显示日历信息)

大多数用户自然会将计算机上的日历视为GUI应用程序&#xff0c;或直接从桌面显示的东西。但也可以在Linux中使用cal命令通过命令行终端查看日历。 如果您通常使用Linux上的桌面环境&#xff0c;或者您来自Windows或MacOS操作系统&#xff0c;可能会认为这是一种过于复杂的日历…

RFID技术在固定资产管理中的作用

固定资产因具有数量庞大、分布广、变动频繁等特点造成管理难度较大&#xff0c;一直成为企业管理的一大重点。固定资产管理包括资产的新增、调拨、闲置、报废、维修、盘点等操作&#xff0c;让投入使用到报废退出使用的全过程进行全面的信息化管控。以往固定资产的一直由于管理…

AlexNet详解

入门小菜鸟&#xff0c;希望像做笔记记录自己学的东西&#xff0c;也希望能帮助到同样入门的人&#xff0c;更希望大佬们帮忙纠错啦~侵权立删。 ✨完整代码在我的github上&#xff0c;有需要的朋友可以康康✨ GitHub - tt-s-t/Deep-Learning: Store some of your own in-depth …

Python学习笔记——起步

Python 2 和 Python 3的区别 一、维护及版本更新不同 官方通知python2 2020开始已不再维护&#xff0c;python3的版本还在不断迭代更新 。 因为python2官方不再维护且python3的广泛使用&#xff0c;很多新的算法包、AI包等其他功能模块包都是基于python3开发的&#xff0c;p…

LaTeX使用方法

1.工具 1.生成表格&#xff1a;LaTeX Tables Editor 2.生成公式&#xff1a;Online LaTeX Equation Editor 、texmath demo、在线LaTeX公式编辑器-编辑器 2.技巧 1.插入图片&#xff1a; \begin{figure}[t] %t表示图片置顶&#xff0c;h表示指定位置&#xff0c;b表示置底…

条件分支if和else的使用详解

顺序结构没什么好讲的&#xff0c;就是从上到下的写代码&#xff0c;所以接下来&#xff0c;壹哥就直接带各位来学习分支结构里的条件分支。我们在前面说过&#xff0c;分支结构&#xff0c;或者叫做条件分支&#xff0c;其实有两种情况。一种是if...else...类型的条件分支&…

vue组件通信6种方式总结(常问知识点)

前言 在Vue组件库开发过程中&#xff0c;Vue组件之间的通信一直是一个重要的话题&#xff0c;虽然官方推出的 Vuex 状态管理方案可以很好的解决组件之间的通信问题&#xff0c;但是在组件库内部使用 Vuex 往往会比较重&#xff0c;本文将系统的罗列出几种不使用 Vuex&#xff…