vite的基本使用
vite
浏览器原生支持模块化
浏览器原生加载的缺点
1.必须明确的写上后缀名
2.如果某一个模块 加载跟多其他的js文件 那么这些js文件都需要被依次加载 浏览器需要将所有的js文件请求下来 发送跟多的http请求(效率也是非常低的)
3.如果代码中由typescript/jsx/vue代码 那么浏览器是不识别的
vite就帮助我们解决了上面的问题
vite工具的使用
安装vite工具
npm install vite
通过vite来启动项目
npx vite
vite对css的支持
vite可以直接支持css的处理
直接导入css即可
vite可以直接支持css预处理器 比如less
直接导入less
之后安装less编译器
npm install less
vite直接支持postcss的转换
只需要安装postcss 并配置postcss.config.js的配置文件即可
npm install postcss postcss-preset-env
module.exports = {plugins: [require("postcss-preset-env")],
};
vite对typescript的支持
vite对typescript是原生支持的 他会直接使用ESBuild来编译
只需直接导入即可
如果我们产看浏览器中的请求 会发现请求的依然是ts的文件
这时因为vite中服务器Connect会对我们的请求进行转发
获取ts编译后的代码 给浏览器返回 浏览器可以直接进行解析
vite1中使用koa开启服务器
从vite2开始使用connect服务器
vite对vue的支持
vue3单文件组件支持 @vitejs/plugin-vue
vue3jsx支持 @vitejs/plugin-vue-jsx
vue2支持 underfin/vite-plugin-vue2
npm install @vitejs/plugin-vue
创建vite.config.js
使用defienConfig函数的原因是 可以更好的代码提示 不使用defienConfig直接导出也没有关系
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";export default defineConfig({plugins: [vue()]
})
vite对react的支持
.jsx和.tsx文件同样开箱即用 他们也是通过ESBuild来完成编译的
所以我们只需要直接编写react代码即可
在index.html加载main.js时 需要将main.js的后缀修改为main.jsx作为后缀
vite打包项目
我们可以直接通过npx vite build打包项目
npx vite preview 开启一个本地服务来预览打包后的效果
vite脚手架工具
vite:相当于一个构建工具 类似于webpack rollup
@vitejs/create-app: 类似于vue-cli create-react-app
使用方法
npm create vite
yarn create vite
pnpm create vite
ESBuild解析
ESBuild的特点
超快的构建速度 并且不需要缓存
支持ES6和CommonJS的模块化
支持ES6的Tree Shaking
支持Go、Javascript的API
支持TypeScript、JSX等语法编译
支持SourceMap
支持代码压缩
支持扩展其他插件
ESBuild为什么这么快
1.使用go语言编写 可以直接转换成机器代码 无需经过字节码
2.ESBuild可以充分利用CPU的多核 尽可能让他们饱和运行
3.ESBuild的所有内容都是从零开始编写的 不是使用第三方 所以一开始就考虑了各种性能问题
相关文章:
vite的基本使用
vite 浏览器原生支持模块化 浏览器原生加载的缺点 1.必须明确的写上后缀名 2.如果某一个模块 加载跟多其他的js文件 那么这些js文件都需要被依次加载 浏览器需要将所有的js文件请求下来 发送跟多的http请求(效率也是非常低的) 3.如果代码中由typescrip…...
JavaScript 字符串(String) 对象
JavaScript 是一种流行的编程语言,可以用于开发各种 Web 应用程序和移动应用程序。在 JavaScript 中,字符串是一种非常常见的数据类型,可以使用 JavaScript 字符串(String)对象来处理。本文将详细介绍 JavaScript 字符…...
小知识点:Mac M1/M2 VMware Fusion 安装 Centos 7.9(ARM 64 版本)
最近换了 Mac M2 芯片的笔记本,用原来的 Centos 镜像安装虚拟机直接报错 “无法打开此虚拟机的电源,因为它需要使用 X86 计算机架构,而该架构与此 Arm 计算机架构主机不兼容。” 安装流程前置一、下载镜像二、安装虚拟机三、配置静态 IP四、安…...
Nginx 新增模块 http_image_filter_module 来实现动态生成缩略图
前言 通过 nginx 的 HttpImageFilterModule 模块裁剪过大的图片到指定大小,这个nginx自带的模块是默认关闭的,所以需要重新编译nginx加上此模块。 一、编译 nginx 1.查看 nginx 模块 由于nginx 是之前装好的,这里需要先看一下是否安装了H…...
detach,主线程终止后子线程会结束吗
此前,我对detach的理解是,当主线程退出后,子线程能够继续存在。实际上,当主线程退出后,子线程也随之结束了。先看一个例子: #include <iostream> #include <thread> #include <unistd.h>…...
2023年云计算的发展趋势如何?还值得学习就业吗?
一、2023年云计算的发展将迎来新篇章 随着政策的正式放开,2023年的经济开始慢慢复苏,云计算在疫情期间支撑了复工复产,那么在今年对于云计算发展的限制将进一步的放开。Gartner的数据显示,到2023年,全球公共云支出将达…...
ROS2 入门应用 请求和应答(C++)
ROS2 入门应用 请求和应答(C)1. 创建功能包2. 创建源文件2.1. 服务端2.2. 客户端3. 添加依赖关系4. 添加编译信息4.1. 添加搜索库4.2. 增加可执行文件4.3. 增加可执行文件位置5. 编译和运行1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了…...
华为机试题:HJ73 计算日期到天数转换(python)
文章目录博主精品专栏导航知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方法2、print() :打印输出。3、整型int() :将指定进制…...
将springboot项目生成可依赖的jar,并引入到项目中
1、将springboot项目生成可依赖的jar包的方法 SpringBoot项目默认打包的是可运行jar包,也可以打包成不可运行的jar包。 能打成可运行的jar包是因为,Spring Boot 项目引入了 spring-boot-maven-plugin 依赖包。 spring-boot-maven-plugin具有repackage …...
小红书搜索关键词布局指南,这4种词一定要把握好
在小红书搜索关键词布局,是提升搜索推流的重要方法,今天跟你讲清楚小红书搜索关键词布局怎么做~做小红书的都知道,小红书的主要流量来源一个是推荐,另一个就是搜索,关键词决定了你的精准人群,那…...
安全研发人员能力模型窥探
能力 是一个比较抽象的概念,不同的行业、管理者、研发人员对能力的认知都会有差异。另外,作为研发团队的相应的职级定级、绩效考核的基础,一个“大家普遍认可”的能力的模型是非常重要的。这是比职级模型更高层的一个基本模型,所谓…...
【面试总结】Linux篇·操作及原理篇
【面试总结】Linux篇原理篇1.介绍一下inode2.说一下Linux系统的目录结构3.说一下Linux系统的文件类型4.如何在Linux上配置一个IP地址5.Linux负载是什么?6.Linux中的软链接和硬链接有什么区别?1.介绍一下inode 硬盘的最小存储单位是扇区(Sector)…...
C++中如何实现用异或运算找出数组中只出现一次的数字???
文章目录1、异或运算符的运算1、异或运算符的运算 问题描述: 给出一个指定的数组,只有一个数出现一次,剩下都出现两次,找出出现一次的数字。指定数组为[1,2,2,1,3,4,3]。 样例输出:4 #include<iostream> using…...
红黑树的历史和由来。
一个数组,1,2,3,4,5,...n; 一共n个数字。1、直接查找想要查询第n个数字,直接搜索,就是n次查询。ps:那么问题来了,这样查询也太慢了,有什么改进的呢?2、二分查找这个时候,二分查找更快。不过就是…...
蓝库云|制造业数字化转型为何转不动?资料处理很重要
数字化转型已经成为每个产业势在必行的课题,没有人会怀疑数字化技术与科技能解放的生产力能量,但为什么看似美好的愿景,实行起来却如此缓慢?蓝库云认为这是因为没有盖好「资料治理」的地基。 面对不断变化的法令规范要求…...
【python学习笔记】 :Lambda 函数
Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它们的语法如下: lambda arguments: expressionlambda 关键字可以用来创建一个 lambda 函数,紧跟其后的是参数列表和用冒号分割开的单个表达式。例如,lambda x: 2…...
Nginx的proxy buffer参数设置
1. proxy_buffering 语法:proxy_buffering on|off 默认值:proxy_buffering on 上下文:http,server,location作用:该指令开启从后端被代理服务器的响应body缓冲。 如果proxy_buffering开启,nginx假定被代理的后端服务器会以最…...
SPI简介与实例分析
SPI简介 SPI 协议是由Motorola提出的通讯协议 (Serial Peripheral Interface) ,是一种高速全双工的串行通信总线。 SPI 通讯使用 3 条总线 :SCK、 MOSI、 MISO ,以及若干片选线(SS、CS、NSS)。 主机要和哪个从机通信,就把对应的…...
通过基于pgsql的timescaleDB的time_bucket函数实现自定义聚合粒度
1、自己写的不完全满足要求的实现方式 with tb_tmp as (select *, //计算该时间距离第一天有多少天((extract(epoch from create_time) /3600/24)::integer) as ct_ifrom test.test_salary )select min(a.create_time) as create_time,sum(a.salary) from (select *,//移动数据…...
一台电脑安装26个操作系统(windows,macos,linux)
首先看看安装了哪些操作系统1-4: windows系统 四个5.Ubuntu6.deepin7.UOS家庭版8.fydeOS9.macOS10.银河麒麟11.红旗OS12.openSUSE Leap13.openAnolis14.openEuler(未安装桌面UI)15.中标麒麟(NeoKylin)16.centos17.debian Edu18.fedora19.oraclelinux20.R…...
dockerfile文件
dockerfile文件内容 Form ip端口/centos:regular ENV JAVA_HOME /E:/Program Files/Java/jdk1.8.0_351 ENV PATH $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 WORKDIR /opt COPY target/fast.jar /op…...
视觉SLAM ch11回环检测
回环检测的关键:如何有效的检测出相机经过同一个地方。如果成功的检测到可以为后端的位姿图提供更多有效数据,得到全局一致的估计。 回环检测提供了当前数据和所有历史数据的关联,还可以用回环检测进行重定位。 具体方法: 一&am…...
关于Ubuntu20.04文件系统思考
文章目录问题产生Ubuntu文件系统中普通用户可读写地址Ubuntu文件系统Ubuntu文件系统详解一级目录二级目录查找Ubuntu中软件安装位置Ubuntu修改文件权限问题产生 使用electron框架开发桌面端跨平台软件时,当开发完成的程序部署到Ubuntu上,系统无法产生日…...
内嵌于球的等边三棱柱
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有3个节点,每个训练集里有两张图片,让B的训练集全为0,排列组合A,观察迭代次数平均值的变化。共完成了64组,但只有12组不同的迭代次数。 差值结构 A-B 迭代次…...
论文解读 | [CVPR2020] ContourNet:向精确的任意形状场景文本检测迈出进一步
目录 1 研究背景和目的 1.1 主要贡献: 1.2 两个挑战: 2 ContourNet 3 方法论 3.1 Adaptive-RPN 3.2 LOTM 3.3 点重定位算法 4 实验和结果 论文地址:ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Tex…...
干货分享|数据可视化报表制作技巧
脑中想得再好,也要看最终的效果呈现。但偏偏有些用户分析思维不差,就是数据分析报表的制作拖了后腿,导致始终无法完美呈现数据可视化分析效果。本文将总结奥威BI软件上的常用的数据可视化报表制作技巧,供大家随时查阅。 BI数据可…...
Longhorn,企业级云原生容器分布式存储 - 备份与恢复
Longhorn,企业级云原生容器分布式存储 - 备份与恢复快照手动快照周期性快照和备份使用 Longhorn UI 设置周期性快照使用 StorageClass 设置 Recurring Jobs分离卷时允许 Recurring Job容灾卷创建容灾(DR)卷备份设置备份目标使用阿里云OSS备份存储准备工作为 S3 兼容…...
亿级高并发电商项目-- 实战篇 --万达商城项目 十(安装与配置Elasticsearch和kibana、编写搜索功能、向ES同步数据库商品数据)
亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计) 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#x…...
windwos安装spring-cloud-alibaba-nacos
windwos安装spring-cloud-alibaba-nacos前言一、预备环境二、下载源码或者安装包1.启动2.关闭总结前言 这个快速开始手册是帮忙您快速在您的电脑上,下载、安装并使用 Nacos。 一、预备环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos&#x…...
Spring Boot 项目如何统一结果,统一异常,统一日志
1 统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。1.1 统一结果的一般形式是否响应成功;响应状态码;状态码描述;响应数据;其他标识符&#…...
漳州做网站开发/外贸平台有哪些比较好
这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你有所帮助。 概述 Dozer是什么? Dozer是一个JavaBean映射…...
web程序设计asp.net实用网站开发答案/来宾seo
转自:https://blog.csdn.net/u012909091/article/details/38339085 要想正确理解设计模式,首先必须明确它是为了解决什么问题而提出来的。 ——Shulin 1、概念 工厂模式定义:实例化对象,用工厂方法代替new操作。达到解耦的目的&…...
wordpress 仿站/百度一下你就知道官网新闻
Java基础之:集合——Collection——ListList简单介绍List接口是Collection的子接口。List集合是有序的(输入和输出顺序不变),且允许重复元素存在。List集合每个元素都有其对应的顺序索引,即List支持索引。List使用及常用方法首先是所有Collec…...
青海网站开发 建设/南宁百度seo价格
(PHP 4 > 4.2.0, PHP 5, PHP 7) 1.函数的作用 : 改变数组所有键值的大小写; 2.参数: 1)array : 应用的数组; 2)case : 指定转换为大写或者小写 【CASE_UPPER】|【CASE_LOWER】 …...
深圳龙华网站公司/seo分析师
在本文中,我们将介绍如何清除Linux终端。1)clear命令让我们假设你的终端填满了命令和输出,如下所示,在终端提示符的底部运行clear。结果终端屏幕被清除,如下所示2)reset命令就像上面的例子一样,你需要在终端的底部运行…...
黄埔营销型网站建设/广州网站seo公司
MySQL 提供了两种事务型的存储引擎:InnoDB 和 NDB Cluster 。另外还有一些第三方存储引擎也支持事务1. 数据库事务数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败。例如在转账的流程下,张三给李四转…...