| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 认识前端构建工具 Vite -> 正文阅读 |
|
[JavaScript知识库]认识前端构建工具 Vite |
是什么?Vite(法语意为 "快速的",发音
Vite 是 Opinionated 的,通过约定保证了易用性——前端开发者常用的功能都是开箱即用,又提供了配置以保证不会丧失灵活性。和 webpack 是 index.js 不同,vite 中入口文件是 vite具有这些优点:
Bundle vs Bundleless
Bundle,通常使用Webpack 打包构建工具来打包构建我们的代码,因为:
Bundleless 出现的原因:
Vite 原理第三方依赖:这类代码大部分都是不常变化纯JavaScript,Vite2 使用 esbulid 来以 pre-bundle 的方式构建这部分代码,处理速度快。 业务代码:这部分代码通常是常被修改的非纯的 JavaScript(例如:JSX,Vue 等),而且也不需要一次性全部加载(可以根据路由,做代码分割加载)。 因此,Vite 本身只需要启动静态服务器,按需编译浏览器请求的模块代码,动态加载到当前页面中。 Vite 分为开发模式和生产模式。 开发模式:基于原生 ES 模块的开发服务器
Vite Server 所有逻辑基本都依赖中间件实现。中间件拦截请求之后进行以下处理:
生产模式:?利用 Rollup 来打包构建源代码。因为嵌套 import 会导致发送大量的网络请求,即使使用HTTP2,在生产中使用未捆绑的 ESM 仍然效率低下。而且esbuild关于一些应用程序绑定所需的重要特性仍在开发中——特别是代码拆分和CSS处理。目前,Rollup 在这些方面更加成熟和灵活。 Vite 特点NPM Dependency Resolving?原生的 ESM 只支持通过一个相对或者绝对路径来引用资源,不支持通过一个包名来引用资源,这和 webpack 相同,也是由 vite?做了?NPM Dependency Resolving 的一层转换。
Dependency pre-bundling(预打包)开发阶段,只有在依赖变动时,才会去更新query id使之前的的缓存失效,预打包才需要执行,Vite2 利用 esbuild 替代 Rollup加快构建速度,而且给第三方依赖的包都设置了http 缓存,存放在node_modules/.vite下。 相比 Snowpack, Vite支持更多的特性:
Vite + React + TS1. 创建一个 vite 项目,选择 react-ts 作为预设模板
2. 依次执行安装依赖和启动开发环境命令
3. 目录约定
4.?配置路由?router/index.ts(还包括重定向(redirect)、懒加载等)
5. 改造 main.tsx
6.?service 管理 所有项目请求都放入 service,建议每个模块都有对应的文件管理:
base.ts 作为业务请求类:
util/request 作为统一引入的请求方法,可以自定义替换成 fetch、axios 等请求库,同时可以在此方法内封装通用拦截逻辑。? 在具体业务开发使用的时候可以按照模块名引入,容易查找对应的接口模块:
7. vite.config.ts 配置
tsconfig.json:
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 21:35:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |