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

【Vite】快速入门及其配置

概述

Vite是前端构建工具。vite

相较于webpack,vite采用了不同的运行方式:

  • 开发时,并不对代码打包,而是直接采用ESM的方式来运行项目
  • 在项目打包部署时,使用 rollup 对项目进行打包
  • 除了速度外,vite使用起来也更加方便

默认项目源码目录就是根目录,而不像 webpack 那样是 src 目录。

我们可以初始化一个工程:

npm init 
npm i vite -D

在这里插入图片描述

<html lang="en"><head><meta charset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><scripttype="module"src=./index.js></script>
</head><body><h1>Vite demo</h1>
</body></html>
document.body.insertAdjacentHTML('beforeend', '<h1>Hello Vite!</h1>')

然后执行 :

npx vite 

启动项目,并且自动支持热更新和启动服务器。

在这里插入图片描述

npx vite build进行项目打包,且使用 的是 ESM。但是 ESM 必须通过 url的方式进行加载,也就是说,使用打包后的 html 不能运行项目,必须使用 http / https 才可以,所以需要通过服务器打开项目。

但是 live server 也不可以,live server 的根目录配置有问题,默认配置的根目录是项目目录,我们还需要改为 dist 目录。

所以要么通过将 dist 放在服务器运行,要么 执行 npx vite preview 运行。

vite是开发服务器,并不对项目进行打包;而vite preview是打包后的预览服务器。

在这里插入图片描述

配置

一般的 style,css(sass, less 等),图片处理 等一系列常用配置 vite 已经内置了,无需我们手动配置。

要想为传统浏览器提供支持(es6 -> es5),可以按下面这样使用官方插件 @vitejs/plugin-legacy:

$ npm add -D @vitejs/plugin-legacy
// vite.config.js
import legacy from '@vitejs/plugin-legacy'
import { defineConfig } from 'vite'export default defineConfig({plugins: [legacy({targets: ['defaults', 'not IE 11'],}),],
})

legacy 在打包时需要插件 terser(用于压缩代码),所以还需要装:

npm i terser -D 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WPF中UI元素继承关系
  • python os库使用教程
  • 【源码阅读】Sony的go breaker熔断器源码探究
  • C2W1.Assignment.Parts-of-Speech Tagging (POS).Part2
  • 算法日记day 15(二叉树的遍历)
  • 【Qt】QWidget核心属性相关API
  • 新版网页无插件H.265播放器EasyPlayer.js如何测试demo视频?
  • 深入浅出mediasoup—通信框架
  • 【BUG】已解决:ModuleNotFoundError: No module named ‘paddle‘
  • 【云原生】Kubernetes微服务Istio:介绍、原理、应用及实战案例
  • uniapp vue3 上传视频组件封装
  • 【ffmpeg命令】RTMP推流
  • 主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning
  • 天途无人机林业应用解决方案
  • 驱动开发系列06 - 内存映射和DMA
  • 深入了解以太坊
  • 5、React组件事件详解
  • CAP 一致性协议及应用解析
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Java 多线程编程之:notify 和 wait 用法
  • LeetCode18.四数之和 JavaScript
  • Mithril.js 入门介绍
  • SQLServer之索引简介
  • 程序员最讨厌的9句话,你可有补充?
  • 动态规划入门(以爬楼梯为例)
  • 基于webpack 的 vue 多页架构
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 排序算法学习笔记
  • 微信小程序设置上一页数据
  • 消息队列系列二(IOT中消息队列的应用)
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​一些不规范的GTID使用场景
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #565. 查找之大编号
  • #Java第九次作业--输入输出流和文件操作
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C++20) consteval立即函数
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (ZT)薛涌:谈贫说富
  • (附源码)计算机毕业设计高校学生选课系统
  • (六)Hibernate的二级缓存
  • (三)c52学习之旅-点亮LED灯
  • (学习日记)2024.01.09
  • (杂交版)植物大战僵尸
  • *1 计算机基础和操作系统基础及几大协议
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @AutoConfigurationPackage的使用
  • @Autowired标签与 @Resource标签 的区别
  • @EventListener注解使用说明
  • @JsonFormat与@DateTimeFormat注解的使用
  • [20160902]rm -rf的惨案.txt
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Algorithm][综合训练][kotori和n皇后][取金币][矩阵转置]详细讲解