type
status
date
slug
summary
tags
category
icon
password
webpack和vite都是常见的前端构建工具,在现在来说vite也算不上新了,基于这俩的差异简单学习一下构建工具的发展和他们历代的痛点,以及后续更后的发展吧。
1 构建工具历史,为什么需要webpack
其实它的官网就已经介绍的比较详尽了
我再概括一下吧
在打包工具出现之前,我们是如何在 web 中使用 JavaScript 的。
在浏览器中运行 JavaScript 有两种方法。第一种方式,引用一些脚本来存放每个功能;此解决方案很难扩展,因为加载太多脚本会导致网络瓶颈。第二种方式,使用一个包含所有项目代码的大型
.js
文件,但是这会导致作用域、文件大小、可读性和可维护性方面的问题后面便使用的是IIFE,主要是基于这个避免你作用域冲突变量重名的问题。
此时的时候有例如gulp的构建工具,但是此时由于一整个库是一起的,如果你修改了其中一部分又要进行全部打包,当然在你项目中引用的时候当然也会将他们全部引入,影响整个效率
webpack在这时有基于你的入口文件进行按需打包的功能,并且兼容各种模块化语法.
那为什么又要转到vite了呢?
主要是为了解决在开发过程中如HMR的时间过长的问题。即如官网中提到的 缓慢的服务器启动、缓慢的更新
因为现在浏览器支持ESM语法,vite开始基于这个进行更新。
1. 安装 Vite
首先,你需要安装 Vite 和相关依赖。打开终端,在项目根目录下运行以下命令:Bash拷贝npm install vite @vitejs/plugin-react
### 2. 创建 Vite 配置文件
在项目根目录下创建一个名为 vite.config.js 的文件,并添加以下基本配置:JavaScript拷贝import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
});
### 3. 修改 package.json 脚本
在 package.json 中,替换或添加 Vite 的开发和构建命令:JSON拷贝scripts: {
dev: vite,
build: vite build,
serve: vite preview
}
### 4. 更新项目结构
如果你的项目中使用了 Webpack 特有的结构(例如,webpack.config.js),可以将其删除并重组文件夹结构,确保符合 Vite 的要求。Vite 通常要求将源代码放在 src 文件夹中。
### 5. 处理 CSS 和其他资源
Vite 对 CSS 的处理相对简单。确保在组件中直接引入 CSS 文件,Vite 会自动处理。如果你的项目使用了 CSS 预处理器(如 SASS 或 LESS),需要安装相应的依赖并更新配置。
例如,对于 SASS:Bash拷贝npm install sass
6. 处理静态资源
将静态资源(如图片和字体)放在 public 目录下,Vite 会自动处理这些文件。你可以直接通过相对路径引用这些文件。
这个在webpack中一致的。如果你在你之前的项目中不是这样引用的需要进行切换
9. 移除 Webpack 相关依赖
在确认项目正常运行后,可以逐步移除与 Webpack 相关的依赖,如 webpack、webpack-cli 和其他 Webpack 插件。
### 10. 测试和调试
最后,使用 npm run dev 启动开发服务器,检查项目是否正常运行,确保所有功能都按预期工作。如果出现问题,查看控制台错误信息,逐步排查。
拓展使用 分析打包结果
常见的我们有的时候会需要分析打包完成后的项目中哪些部分大小过大之类的问题,可以使用 rollup-plugin-visualizer 来获取一个可视化的结果
他会生成一个html并自动打开,内容大致如下,可以看到源码及各个modules中的哪些大小比较大。

- Author:SAKURAAE
- URL:https://tangly1024.com/article/112512fd-6950-80f9-a883-f25cf66c22fa
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!