前端 JS 经典:构建工具

简介: 前端 JS 经典:构建工具

前言:相信很多小伙伴在平时听得最多的,就是前端工程化巴拉巴拉什么的,而构建工具就是前端工程化很重要的一环。那么什么是构建工具呐,就是可以对我们的项目进行编译、测试、打包、优化、压缩等功能的工具,称为构建工具,而前端构建工具有很多,常见的分为两类,一类是基于任务的打包工具 grunt、gulp,另一类是基于模块的打包工具 webpack、vite、esbuild、roolup、parcel、browserify。而这么多的构建工具,我们要都想掌握,所需要付出的时间成本和精力成本对比所得到的收获,是不成正比的,所以,我们需要紧跟时代潮流,洞悉最新流行技术,本文主要讲解,vite 最新构建工具,和 webpack 使用最多工具。

一:Vite

可以参考 Vite 官方文档速通

1. 介绍

Vite 是一种新型的前端构建工具,特别设计用于快速开发。Vite 支持使用原生 ES 模块作为开发环境,采用按需编译的方式,因此在开发过程中能够获得更快的冷启动速度。Vite 集成了 Vue.js,但也可以用于其他框架或库。

2. 优点

快速的冷启动、即时的热更新、按需编译

3. 缺点

功能不如 webpack 强大

4. 原理

| 使用 esbuild 对依赖进行预构建,esbuild 的打包速度很快。

| 利用浏览器对 esm 原生支持这一特性,让浏览器接管了打包程序的部分工作。

| 按需加载:在浏览器执行 esm 的 import 时,浏览器会向开发服务器请求该模块。

| 热更新是基于 websocket 实现的,也是在 esm 上执行的,只更新编辑了的文件,而不是把整个页面重新编译。

| vite 使用 http 缓存来加速页面的重新加载,源码模块会进行协商缓存,依赖模块会进行强缓存。

| 使用 rollup 进行打包,因为 rollup 和 vite 的 api 能够很好的兼容,而且社区比较活跃,有很多插件可以使用。

| 打包对代码进行优化,tree-shaking、懒加载和分割等优化。

二:webpack

1. 介绍

Webpack 是一个现代化的静态模块打包工具,它将前端项目中的各种资源(JavaScript、CSS、图片等)视为模块,并通过依赖关系进行静态分析和打包。

2. 优点

模块化支持、打包优化、插件系统、开发工具支持

3. 缺点

学习成本高、配置复杂、构建速度慢

4. 原理

| 入口点识别:Webpack 根据配置文件中指定的入口点(entry)开始分析项目的依赖关系。

| 依赖分析:Webpack 通过解析入口文件和其依赖文件,构建整个项目的依赖关系图。它可以识别出哪些文件被引入、被依赖,并形成一个依赖关系树。

| 模块转换:Webpack 根据配置文件中的各种规则(如加载器-loader)对各个模块进行转换,将它们转换为浏览器可理解的格式(如将 ES6 转换为 ES5,将 SCSS 转换为 CSS)。

| 打包输出:在完成模块转换后,Webpack 将所有的模块打包成一个或多个输出文件,通常是一个或多个 JavaScript 文件。这些输出文件可以在浏览器中加载和执行。

目录
相关文章
|
28天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
36 0
|
8天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
8天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
13 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
14天前
|
缓存 监控 前端开发
前端工程化:Webpack与Gulp的构建工具选择与配置优化
【10月更文挑战第26天】前端工程化是现代Web开发的重要趋势,通过将前端代码视为工程来管理,提高了开发效率和质量。本文详细对比了Webpack和Gulp两大主流构建工具的选择与配置优化,并提供了具体示例代码。Webpack擅长模块化打包和资源管理,而Gulp则在任务编写和自动化构建方面更具灵活性。两者各有优势,需根据项目需求进行选择和优化。
46 7
|
13天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
19 1
|
13天前
|
缓存 前端开发 JavaScript
前端工程化:Webpack与Gulp的构建工具选择与配置优化
【10月更文挑战第27天】在现代前端开发中,构建工具的选择对项目的效率和可维护性至关重要。本文比较了Webpack和Gulp两个流行的构建工具,介绍了它们的特点和适用场景,并提供了配置优化的最佳实践。Webpack适合大型模块化项目,Gulp则适用于快速自动化构建流程。通过合理的配置优化,可以显著提升构建效率和性能。
26 2
|
14天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
14 1
|
24天前
|
前端开发 JavaScript 安全
JavaScript前端开发技术
JavaScript(简称JS)是一种广泛使用的脚本语言,特别在前端开发领域,它几乎成为了网页开发的标配。从简单的表单验证到复杂的单页应用(SPA),JavaScript都扮演着不可或缺的角色。
19 3
|
17天前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
22 0
|
28天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
129 0