当前位置: 首页 > news >正文

Vite打包配置

Vite打包配置

1.项目启动自动打开网页

{"scripts": {"dev": "vite --open"}
}

2.base配置打包公共路径

配置base选项的作用主要是指定项目在开发或生产环境中的公共基础路径。这个配置项对于确保资源能够正确加载尤为关键,尤其是在项目被部署到子路径的情况下。

'base:'/finyou'

例如,如果项目被部署到服务器的/my-app/路径下,那么可以在vite.config.tsvite.config.js文件中配置base’/my-app/'。这样,在开发环境中,Vite开发服务器就会以这个基础路径来提供资源;在生产环境中,构建后的资源也会包含这个基础路径,从而确保它们能够被正确加载和访问。

3.alias配置路径别名

//不配置情况
import HelloWorld from './components/HelloWorld.vue'
//配置后的情况
import HelloWorld from '@/components/HelloWorld.vue'
 resolve:{alias:{'@':resolve(__dirname,'src'),//配置图片别名"@img":resolve(__dirname,'src/assets')}}

如果你是ts项目还需而外配置,不然进行ts检查会报错

//tsconfig.app.json
"baseUrl": ".","paths": {"@/*": ["src/*"]}

4.生产环境时移除console.log的配置

默认为 Esbuild它比 terser 快 20-40 倍,压缩率只差 1%-2%。

terser

使用terser需要安装terser

npm add -D terser
 build:{minify:'terser',terserOptions:{compress:{​    drop_console:true,​    drop_debugger:true}}}

Esbuild(开发环境也没用)

esbuild: {drop: ['console', 'debugger'],
}

element-plus按需引用

不用在main.ts中导入element-plus

npm install -D unplugin-vue-components unplugin-auto-import
// vite.config.ts
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()],}),],
})

mock数据配置

npm i vite-plugin-mock mockjs -D

[vite-plugin-mock配置](vite-plugin-mock/README.zh_CN.md at main · vbenjs/vite-plugin-mock)

前端跨域代理

export default defineConfig({server: {proxy: {// 字符串简写写法:http://localhost:5173/foo -> http://localhost:4567/foo'/foo': 'http://localhost:4567',// 带选项写法:http://localhost:5173/api/bar -> http://jsonplaceholder.typicode.com/bar'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''),},// 正则表达式写法:http://localhost:5173/fallback/ -> http://jsonplaceholder.typicode.com/'^/fallback/.*': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,rewrite: (path) => path.replace(/^\/fallback/, ''),},// 使用 proxy 实例'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,configure: (proxy, options) => {// proxy 是 'http-proxy' 的实例}},// 代理 websockets 或 socket.io 写法:ws://localhost:5173/socket.io -> ws://localhost:5174/socket.io// 在使用 `rewriteWsOrigin` 时要特别谨慎,因为这可能会让代理服务器暴露在 CSRF 攻击之下'/socket.io': {target: 'ws://localhost:5174',ws: true,rewriteWsOrigin: true,},},},
})

CDN配置

npm install vite-plugin-cdn-import --save-dev
 cdn({modules:[{name: 'vue',var: 'Vue',path: 'https://unpkg.com/browse/vue@3.5.12/dist/vue.cjs.js'},{name: 'element-plus',var: 'ElementPlus',path: 'https://unpkg.com/browse/element-plus@2.8.6',css:'https://unpkg.com/browse/element-plus@2.8.6/dist/index.css'},]})
app.use(ElementPlus)

Gzip代码压缩

npm i vite-plugin-compression -D
import viteCompression from 'vite-plugin-compression';
export default () => {return {plugins: [viteCompression()],};
};

仍然需要nginx开启gzip压缩,浏览器才会走gzip压缩

图片打包(包下载失败)

[文档](vite-plugin-imagemin/README.zh_CN.md at main · vbenjs/vite-plugin-imagemin)

npm i vite-plugin-imagemin -D

相关文章:

Vite打包配置

Vite打包配置 1.项目启动自动打开网页 {"scripts": {"dev": "vite --open"} }2.base配置打包公共路径 配置base选项的作用主要是指定项目在开发或生产环境中的公共基础路径。这个配置项对于确保资源能够正确加载尤为关键,尤其是在…...

node集成redis (教学)

文章目录 前言一、安装redis二、可视化界面测试连接1.vscode安装插件 三、node代码编写1.先安装两个库(redis和ioredis)2.测试连接 (前提是你的redis服务器要启动起来) 总结 前言 在Node.js中集成ioredis是一个常见的做法&#x…...

江协科技STM32学习- P22 实验-ADC单通道/ADC多通道

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…...

RL学习笔记-马尔可夫过程

参考资料:蘑菇书、周博磊老师课程 在强化学习中,智能体与环境交互是通过马尔可夫决策过程来表示的,因此马尔可夫决策过程是强化学习的基本框架。 马尔可夫性质 指一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件…...

LeetCode Hot 100:动态规划

LeetCode Hot 100&#xff1a;动态规划 70. 爬楼梯 class Solution { public:int climbStairs(int n) {if (n 0)return 0;vector<int> dp(n 1);// 初始化dp[0] 1;// 状态转移for (int i 1; i < n; i) {dp[i] dp[i - 1];if (i > 2)dp[i] dp[i - 2];}return …...

使用Python制作雪景图片教程

如果你想用Python写一个程序来输出有关“深夜雪”的诗意文本或描述&#xff0c;可以通过简单的字符串输出来实现。以下是一个示例代码&#xff0c;展示如何用Python来描绘深夜雪的场景。 # 定义深夜雪的描述 description """ 夜幕降临&#xff0c;天空洒下银色…...

S-Function

目录 S-Function介绍 生成S-Function的三种常用手段 使用手写S-函数合并定制代码 使用S-Function Builder块合并定制代码 使用代码继承工具合并定制代码 S-Function介绍 我们可以使用S-Function扩展Simulink对仿真和代码生成的支持。例如&#xff0c;可以使用它们&#xf…...

如何具备阅读JAVA JDK虚拟机源码能力

源码位置https://github.com/openjdk/jdk 核心实现源码[部分截图] /* * Copyright (c) 1995, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistr…...

Python | Leetcode Python题解之第514题自由之路

题目&#xff1a; 题解&#xff1a; Test "godding" target "d"i 0left i lc 0 right i rc 0while Test[left] ! target:left - 1lc 1if left -1:left len(Test) - 1while Test[right] ! target:right 1rc 1if right len(Test):right 0prin…...

Docker 镜像下载问题及解决办法

Docker 镜像下载问题及解决办法 我在杂乱的、破旧的村庄寂寞地走过漫长的雨季&#xff0c;将我年少的眼光从晦暗的日子里打捞出来的是一棵棵开花的树&#xff0c;它们以一串串卓然不俗的花擦明了我的眼睛&#xff0c;也洗净了我的灵魂。 引言 在使用 Docker 时&#xff0c;用户…...

2分钟搞定 HarmonyOs Next创建模拟器

官方文档参考链接&#xff1a; 创建模拟器-管理模拟器-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio - 华为HarmonyOS开发者https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-emulator-create-V5 1. 首先打开Device Manager 2. 进入这个界面后…...

方形件排样优化与订单组批问题探析

方形件排样优化与订单组批问题是计算复杂度很高的组合优化问题&#xff0c;在工业工程中有很广泛的应用背景。为实现个性化定制生产模式&#xff0c;企业会选择订单组批的方式&#xff0c;继而通过排样优化实现批量切割&#xff0c;加工完成后再按照不同客户需求进行分拣&#…...

vue3组件通信--自定义事件

自定义事件是典型的子传父的方法。 为什么叫自定义事件呢&#xff1f;是因为我们用sendToy"getToy"这种格式写&#xff0c;很显然&#xff0c;在DOM中&#xff0c;没有叫sendToy的事件。 父组件FatherComponent.vue: <script setup> import ChildComponent fr…...

ubuntu 安装k3s

配置hostname的方法为 hostnamectl set-hostname k3sserver hostnamectlsudo apt-get update && sudo apt-get upgrade -y sudo apt-get install -y curl#手动下载v1.31.1k3s1 https://github.com/k3s-io/k3s/releases/tag/v1.31.1%2Bk3s1 #将k3s-airgap-images-amd64…...

SQL CHECK 约束:确保数据完整性的关键

SQL CHECK 约束:确保数据完整性的关键 在数据库管理中,确保数据的完整性和准确性是至关重要的。SQL(Structured Query Language)提供了多种约束条件来帮助实现这一目标,其中之一就是 CHECK 约束。本文将深入探讨 SQL CHECK 约束的概念、用法和优势,并展示如何在不同的数…...

C++ | Leetcode C++题解之第502题IPO

题目&#xff1a; 题解&#xff1a; typedef pair<int,int> pii;class Solution { public:int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) {int n profits.size();int curr 0;priority_queue<int, vect…...

《虚拟现实的边界:探索虚拟世界的未来可能》

内容概要 在虚拟现实&#xff08;VR&#xff09;技术的浪潮中&#xff0c;我们见证了其从实验室的奇想逐渐走向日常生活的非凡旅程。技术发展的背后是不断突破的创新&#xff0c;早期的设备虽然笨重&#xff0c;但如今却趋向精致、轻巧&#xff0c;用户体验显著提升。想象一下…...

Rust教程

2024 Rust现代实用教程&#xff1a;1.1Rust简介与安装更新––2024 Rust现代实用教程&#xff1a;1.2编译器与包管理工具以及开发环境–––––––––––...

测试代理IP的有效性和可用性

使用代理IP的有效性和可用性直接关系到用户的工作效率&#xff0c;尤其是在进行数据抓取、网络爬虫和保护个人隐私等场景中。 一、测试代理IP的必要性 代理IP的可用性测试是确保代理服务正常运行的重要步骤。测试代理IP的必要性主要体现在以下几个方面&#xff1a; 提升工作…...

散列表:为什么经常把散列表和链表放在一起使用?

散列表:为什么经常把散列表和链表放在一起使用? 在计算机科学中,散列表(哈希表)和链表是两种常见的数据结构。你可能会好奇,为什么它们经常被放在一起使用呢?让我们一起来深入探讨这个问题。 一、散列表的特点 散列表是一种根据关键码值(Key value)而直接进行访问的…...

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中&#xff0c;每一层都会添加自己的头部信息&#xff0c;最终形成完整的数据包。具体来说&#xff1a; 应用层生成的应用程序…...

PMP--一、二、三模、冲刺、必刷--分类--10.沟通管理--技巧--文化意识

文章目录 技巧一模10.沟通管理--1.规划沟通管理--文化意识--军事背景和非军事背景人员有文化差异文化意识&#xff1a;题干关键词 “两拨人的背景不同、文化差异、风格差异”。5、 [单选] 项目团队由前军事和非军事小组成员组成。没有军事背景的团队成员认为前军事团队成员在他…...

FileReader和FileWriter

FileReader 使用read()方法读取单个字符&#xff0c;下面是如何修改使程序性能更好的过程。 第一种&#xff1a;处理异常方式为throws Testpublic void test() throws IOException {//读取hello.txt&#xff0c;并显示内容// 创建文件对象File file new File("hello.txt…...

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第六篇-阶段总结篇】

因为马上就要进入下一个阶段&#xff0c;制作动态编辑体积纹理的模块。 但在这之前&#xff0c;要在这一章做最后一些整理。 首先&#xff0c;我们完成没完成的部分。其次&#xff0c;最后整理一下图表。最后&#xff0c;本文附上正在用的贴图 完善Shader 还记得我们之前注…...

地球村上一些可能有助于赚钱的20个思维方式

地球村上一些可能有助于赚钱的20个思维方式&#xff1a; 1. 目标导向思维&#xff1a;明确自己的财务目标&#xff0c;并制定详细、可执行的计划来逐步实现。 2. 创新思维&#xff1a;不断寻求新的商业机会和独特的解决方案&#xff0c;以在竞争激烈的市场中脱颖而出。 3. 价值…...

0基础入门matlab

目录 一、命令 二、变量命名 三、数据类型 数字 字符和字符串 矩阵 rand、randi和randn的区别&#xff1f; 元胞数组和结构体 MAGIC 结构体 四、矩阵构造、四则运算、矩阵下标 五、MATLAB逻辑与流程控制 六、MATLAB绘图 二维平面绘图 三维平面绘图 导出图片 内…...

【前端】实操tips集合

1. 关闭vue中组件名字的多词校验 (1) package.json文件中修改eslint配置 "eslintConfig": {"rules": {"vue/multi-word-component-names":"off" }}, &#xff08;2&#xff09;.eslintrc.js或者.eslintrc配置文件中进行配置 modu…...

基于Springboot+Vue 传统文化管理系统(源码+LW+部署讲解+数据库+ppt)

&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 会持续一直更新下去 有问必答 一键收藏关注不迷路 源码获取&#xff1a;https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwdjf1d 提取码: jf1d &#…...

质量漫谈一

我知道很多同学看到这类问题&#xff0c;第一反应想要去寻找的就是作为测试角色&#xff0c;应该要如何如何去做&#xff1f;但是今天这里作为质量第一篇&#xff0c;不打算按照这样单角度去写&#xff0c;这类同学可以就此打住&#xff0c;如果在意的话&#xff0c;可关注后续…...

个体化神经调控 Neurolnavigation介绍

神经调控技术包括DBS, TMS, rTMS, tDCS等等。今天主要说一下TMS。 TMS全程经颅磁刺激&#xff0c;通过对头皮放置磁场线圈&#xff0c;可以定向的往局部头皮发送脉冲信号&#xff0c;抑制局部神经元活动。 TMS的优点是精准刺激&#xff0c;tDCS的优点是刺激范围比较宽泛。近期有…...

郑州门户网站制作/移动建站模板

以下来自中国知网搜索结果2018.5.10 压缩传感&#xff1a;研究生学位论文&#xff0c;硕士&#xff1a;316&#xff0c;博士&#xff1a;64 压缩传感&#xff1a;期刊发表&#xff1a; 稀疏表示&#xff1a;期刊发表 稀疏表示&#xff1a;学位论文&#xff0c;硕士&#xff1a;…...

学院门户网站建设必要性/郑州优化公司有哪些

1 背景 需要一款redis可视化工具 2 工具推荐 一直以来我们习惯使用 RedisDesktopManager&#xff0c;但是库里面数据太多&#xff0c;会卡顿 推荐修复了此问题的工具 Another Redis Desktop Manager 3 下载 https://github.com/qishibo/AnotherRedisDesktopManager/releases…...

建筑培训网成绩查询/南宁seo服务公司

SharePoint 2010 BI新特性制作丰富多样的图表 在SharePoint 2010中&#xff0c;新增加了一个非常好用的图表Web Part&#xff0c;我们可以通过它来制作丰富多样的图表&#xff0c;叫做Chart Web Part&#xff0c;这部分的SDK也是小弟所写&#xff0c;与其他的web part不同的是&…...

c2c网站开设店铺/google权重查询

1.删除字符串中的所有相邻重复项 题目&#xff1a; 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符…...

网络营销管理方案/移动端seo关键词优化

安装rlwrap-0.37.tar.gz工具--实现SQLPLUS中记忆和上下翻页功能在rpm10g32这个路径中1、解压缩[rootoracle3 ~]# cd /u01/rpm10g32[rootoracle3 rpm10g32]# tar -zxvf rlwrap-0.37.tar.gz 2、安装[rootoracle3 rpm10g32]# cd rlwrap-0.37 --root下安装&#xff0c;安装的时候…...

广西建设教育网站/郑州网站建设优化

由于博主比较习惯笔记本开盖即用&#xff0c;合盖即走&#xff0c;不大习惯开机关机&#xff08;毕竟SSD速度杠杠滴^_^&#xff09;。可是发现笔记本长时间睡眠乃至休眠唤醒后&#xff0c;使用thinkpad热键&#xff0c;虽然可以调节&#xff0c;但屏幕不显示调节状态了。解决步…...