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

第1章:项目前言

主流的包管理工具

现在前端的打包工具主要是以下两种:

  • webpack:https://www.webpackjs.com/
  • vite:https://vitejs.cn/vite3-cn/guide/

但是我们通过两种方式进行打包编译,发现越大型的项目vite打包速度更大于webpacke打包速度,这是为什么呢?想要知道这个问题的答案我们就必须要目标webpack的开发时构建策略和vite的开发时构建策略。

  • webpack在开发构建时,默认会使用抓取并构建你的整个项目,然后才能提供服务,这个就导致了你的项目中,存在的任何一个错误(哪怕这个错误是用户从来没有进入过的页面中会出现的),它依然会影响到你的这个项目构建。
  • 而对于vite不会一开始就构建整个项目,而是会将应用中的模块区分为依赖源码(项目代码)两部分,对于源码部分,它会根据路由来拆分代码模块,只去构建一些必要的内容。同时vite以原生ESM的方式为浏览器提供源码,让浏览器接管了打包的部分工作。

那么vite这么快是否会出现一些问题?
- 在早期我们项目中如果存在commonJS的内容会导致无法解析。后面官方提供了依赖预构建的功能,其中一个非常重要的目的就是为了解决CommonJSUMD兼容性的问题。目前Vite会现将CommonJS或UMD发布的依赖项转化为ESM之后,再重新进行编译。这样也可以理解为速度对业务的一个妥协

项目构建

环境准备

版本环境:

node:16.13.1

npm:8.1.2

vite版本:2.8.0

node下载:https://nodejs.cn/download/

官方网站: https://nodejs.org/zh-cn

vite下载执行这个命令:npm install -g vite@2.8.0

安装vite完成查看版本指令:vite -v

注意vite版本需要安装的node.js版本>=12.0.0

项目初始化

使用 npm init vite@2.8.0初始化项目

我们发现Network这一行是没有数据的,如果我们想要添加数据的化,再package.json中添加内容

http://www.dtcms.com/a/391134.html

相关文章:

  • 实现类似word 文档下划线输入功能
  • AR技术赋能高风险作业:重塑安全与效率
  • Axure-图片旋转人机验证
  • web:ts中class、interface、type的区别
  • css中的vm和vh,页面滚动的卡片网页
  • git cherry pick怎么用
  • 40岁从智驾转具身智能之路
  • 串口连接失败排坑步骤
  • QML学习笔记(三)QML基础语法其一:Rectangle及帮助文档的使用
  • 工业相机与镜头靶面尺寸的关系:从原理到选型的避坑指南
  • javaweb tomcat的使用
  • AI 赋能 APP 界面设计公司:从美学到交互的智能升级
  • Java 中的 static:从动机到内存模型、并发与最佳实践
  • 【数据结构与算法(C语言版)】从 0 实现 线性表之顺序表(代码实现增删查功能全解析)
  • MethodSignature signature = (MethodSignature) joinPoint.getSignature()
  • CN2香港服务器是否适合SEO优化?
  • 查看电脑IP地址、修改IP操作,查询本地网络使用的公网IP,判断路由器是否有公网IP,内网IP又怎么让外网上访问
  • 合成孔径雷达干涉测量InSAR:从星载与地基系统原理到多领域应用实战,涵盖数据处理、地形三维重建、形变监测与案例解析
  • Activity 之间跳转时,生命周期的变化
  • SortableItem拖拽组件里的Popconfirm失效
  • [吾爱原创] 图片尺寸调整-支持批量、多格式、缩小、放大、保留元数据、无损质量、最小体积、预览
  • 【C语言】C 语言文件操作全解析:从基础到进阶
  • 《工作流落地篇:工作流中涉及到的主要数据库表》
  • 实验二理解 Java 语言的基本结构和程序设计方法
  • 【开题答辩全过程】以 基于Java的社区医疗预约系统的设计与实现为例,包含答辩的问题和答案
  • 以虚筑实,虚拟仿真技术浇筑水利工程人才培养的数字基座
  • 拟声 0.79.1 | 高颜值,拟态风格,B站歌曲,可下载,可搜索歌词
  • 团体程序设计天梯赛-练习集 L1-038 新世界
  • 【MySQL】约束类型
  • AXI4 DDR读写测试