初始化一个 vite + vue 项目

创建项目

首先使用以下命令创建一个vite项目

npm create vite

在这里插入图片描述

然后根据提示命令 cd 到刚创建的项目目录下,使用npm install安装所需要的依赖包,再使用npm run dev即可启动项目

配置 vite.config.js

  1. 添加process.env配置,如果下面 vue-router 配置的 history 不一样可以省略这个步骤

    define: {"process.env": process.env,
    },
    

    在这里插入图片描述

    否则会报错process is not defined

    在这里插入图片描述

  2. 使用 gzip 压缩

    首先使用下面命令下载vite-plugin-compression

    npm i vite-plugin-compression
    

    然后引入vite-plugin-compression

    import viteCompression from "vite-plugin-compression";
    

    plugins里使用

    plugins: [vue(), viteCompression()],
    

    在这里插入图片描述

    在这里插入图片描述

  3. 配置路径别名
    配置了之后后面再引入就不需要从头开始写,直接从配置的开始写即可,相当于写前面的就代替后面的

    resolve: {alias: {//根据自己需要自行添加即可"/img": "/src/assets/img/","/scss": "/src/assets/scss/","/views": "/src/views/",},
    }
    

    在这里插入图片描述

  4. 配置前端服务,具体可以看官网示例

    server: {host: "127.0.0.1",port: 8080, //vite项目启动时自定义端口open: true, //vite项目启动时自动打开浏览器strictPort: false, // 设为 false 时,若端口已被占用则会尝试下一个可用端口,而不是直接退出hmr: true, //开启热更新,默认就是开启的
    },
    

    在这里插入图片描述

修改 main.js

默认是下面这样的

在这里插入图片描述

createApp(App)单独提出来声明一下,方便后续注册全局属性

在这里插入图片描述

安装 vue-router

根据官网教程文档
使用以下命令安装vue-router

npm install vue-router

在这里插入图片描述

在项目目录下 src 目录内新建 router 目录,然后在 router 目录内新建 index.js 文件

在这里插入图片描述

在 index.js 中写入以下代码

import { createRouter, createWebHistory } from "vue-router";
const routes = [// 这里就自定义自己的页面路由了,我写这个就是加个示例{path: "/",name: "home",component: () => import("/views/home.vue"),},{path: "/about",name: "about",component: () => import("/views/about.vue"),},
];const router = createRouter({history: createWebHistory(process.env.BASE_URL),routes,
});// 全局前置守卫
router.beforeEach((to, from, next) => {console.log("beforeEach to:", to);console.log("beforeEach from", from);next();
});export default router;

然后在 main.js 中引入,再 use 一下即可

import router from "./router";
app.use(router)

在这里插入图片描述

安装 vuex

根据官网教程文档使用以下命令安装 vuex

npm install vuex@next --save

在这里插入图片描述

在项目目录下 src 目录内新建 store 目录,然后在 store 目录内新建 index.js 文件

在这里插入图片描述

在 index.js 中写入以下代码

import { createStore } from "vuex";// 创建一个新的 store 实例
export default createStore({state() {return {};},mutations: {},
});

然后在 main.js 中引入,再 use 一下即可

import store from "./store";
app.use(store)

在这里插入图片描述

安装 axios 和 qs

根据官网教程文档使用以下命令安装 axios

npm install axios

在这里插入图片描述

在项目目录下 src 目录内新建 axios 目录,然后在 axios 目录内新建 index.js 文件

在这里插入图片描述

在 index.js 中写入以下代码,这个是添加 axios 拦截器,如果不需要的话也可以不用这个

import Axios from "axios";
// 添加请求拦截器
Axios.interceptors.request.use(function (config) {console.log("请求配置", config);// 在发送请求之前做些什么return config;},function (error) {// 对请求错误做些什么return Promise.reject(error);}
);// 添加响应拦截器
Axios.interceptors.response.use(function (response) {console.log("服务器的响应", response);// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么return response;},function (error) {// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么return Promise.reject(error);}
);export default Axios;

使用以下命令安装qs

npm i qs

在这里插入图片描述

然后在 main.js 中引入,再注册一下全局属性,不在 main.js 引入,每次使用时在页面引入使用也可以

//引入axios和qs
import Axios from "./axios";
import Qs from "qs";
app.config.globalProperties.$axios = Axios;
app.config.globalProperties.$qs = Qs;

在这里插入图片描述

安装 sass

我比较习惯使用 scss,所以安装 sass

npm install sass -D

在这里插入图片描述

安装 element-plus

npm install element-plus --save

在这里插入图片描述

完整引入

在 main.js 中引入,在 use 一下,这里同时引入 locale 是因为在使用分页组件时是英文,需要引入这个更改成中文

//引入element-plus
import ElementPlus from "element-plus";
import locale from "element-plus/lib/locale/lang/zh-cn";
import "element-plus/dist/index.css";
app.use(ElementPlus, { locale });

在这里插入图片描述

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

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

相关文章

【Java基础篇 | 面向对象】—— 继承

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区讨论💌 继承允许一个类继承另一个…

Java8新特性(Stream流)

Stream流是用于对数组和集合进行便捷操作的。 Stream流 学习Stream流的步骤:获取Stream流,Stream流常见的中间方法,Stream流常见的终结方法。 Stream流的创建 获取数组的Stream流:Arrays.stream(arr)获取List集合的Stream流&a…

分享一个基于微信小程序的汽车租赁小程序 车辆出租小程序 汽车租借小程序源码 lw 调试

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

curl快速学习指南:从新手到专家

文章目录 curl入门指南curl的基本语法curl的常用选项curl示例代码curl入门指南 curl是一个强大的工具,它可以用于从服务器获取或发送数据。它支持多种协议,包括HTTP,HTTPS,FTP等。curl语法简单,易于学习。本教程将介绍curl的基本语法和使用方法,并通过示例代码帮助您理解…

【C#项目实战】控制台游戏 勇士斗恶龙(2)——游戏场景的设置以及玩家战斗逻辑

君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,最近开始正式的步入学习游戏开发的正轨,想要通过写博客的方式来分享自己学到的知识和经验,这就是开设本专栏的目的。希望…

固定资产管理中净值怎么算

在资产管理的领域中,我们经常听到“净值”这个词。然而,对于许多人来说,净值的概念仍然模糊不清。本文将试图揭示固定资产管理的净值计算方法,并提供一些创新的观点。  我们需要明确什么是净值。在财务术语中,净值是…

模拟实现C语言--strlen函数

模拟实现C语言–strlen函数 模拟实现C语言--strlen函数一、strlen函数是什么?二、strlen函数的模拟实现2.1 计数器方式实现strlen函数2.2 不创建临时变量计数器方式实现strlen函数2.3 指针-指针方式实现strlen函数 三、strlen函数的返回类型 一、strlen函数是什么&a…

hive的建表语句

hive建表语句CREATE TABLE ccwn_zh_event_push (customerid string,cardnumber string,accountnumber string,eventcode string,eventtime string,activities string,activityRefuseCode string,lables string)PARTITIONED BY(dt string)ROW FORMAT SERDE org.apache.hadoop.hi…

plt函数显示图片 在图片上画边界框 边界框坐标转换

一.读取图片并显示图片 %matplotlib inline import torch from d2l import torch as d2l读取图片 image_path ../data/images/cat_dog_new.jpg # 创建画板 figure d2l.set_figsize() image d2l.plt.imread(image_path) d2l.plt.imshow(image);二.给出一个(x左上角,y左上角,…

9.12|day 5|day 44 |完全背包| 518. 零钱兑换 II | 377. 组合总和 Ⅳ

● 完全背包 主要是看清01背包和完全背包的区别 //01背包 for(int i 0;i<weight.size();i){ for(int j bagWeight;j>weight[i];j--){dp[j] Math.max(dp[j],dp[j-weight[i]]value[i]); } } //完全背包 for(int i 0;i<weight.size();i){for(int j weight[i];j<…

Java开发之框架(spring、springmvc、springboot、mybatis)【面试篇 完结版】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、框架知识分布二、Spring1. spring-单例bean① 问题引入② 单例bean是线程安全的吗③ 问题总结④ 实战面试 2. spring-AOP① 问题引入② AOP记录操作日志③ …

C++ - map 的 例题

前言 本博客在 一下文章关于 map 和 set 讲解之下&#xff0c;对 map 当中的 operator[] &#xff08;&#xff09;函数的功能运用&#xff0c;感受 map 功能强大。 349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; 给定两个数组 nums1 和 nums2 &#xff0c;返回…