【Webpack】了解Webpack

embedded/2024/9/23 9:06:33/

🤓😍Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主
🐱‍🐉若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍*
🐞🐞文章若有错误或某个内容有更优的解决方案,还望指正!👍*


Webpack

了解

webpack指南 https://webpack.docschina.org/guides/

webpack文档 https://webpack.docschina.org/

前端工程项目的打包和编译工具

最新 Webpack 5

目前在前端开发之中,使用各种 MVVM / MVC 的JS框架开发成为主流,但是在JS框架开发中,项目文件一般是对应JS框架的自定义文件类型

比如 Vue.js 的demo.vue,React.js 的 demo.jsx

Webpack 就是用来将对应的 框架自定义文件和项目中对应JS文件等,编译成 浏览器能运行的 html、CSS、JS文件 ,当然也不止如此,参考

现在前端项目开发,多使用 React、vue 等前端框架,以及ES6模块语法、Sass等css预处理器,以及其他媒体资源,这些项目代码无法直接在浏览器运行。

webpack就是将项目文件打包编译成浏览器能够运行的html、css、js文件的项目打包工具,同时webpack 还具备 压缩代码、代码兼容性处理等特性,大大的提升代码性能

Webpack 输出的文件叫做 bundle

本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个模块组合成一个或多个 bundles,它们均为静态资源,用于展示你的内容。———— 来自官网


为什么使用

传统的Web应用开发,在浏览器运行JavaScript的两种方式

  • 一:需要在html文件通过script脚本引入有不同功能作用的JS文件,若是script脚本太多,会出现网络请求瓶颈

  • 二:在html文件中引入一个包含所有项目代码的JS脚本,若项目代码巨大,会导致各种JS文件大小过大,也会存在作用域和可维护性方面

是否可以有一种方式,不仅可以让我们编写模块,而且还支持任何模块格式,并且可以同时处理其他资源?

这就是 webpack 存在的原因。

它是一个工具,可以打包你的 JavaScript 应用程序(支持 ESM 和 CommonJS),可以扩展为支持许多不同的静态资源,例如:images, fonts 和 stylesheets。

webpack 关心性能和加载时间;它始终在改进或添加新功能,例如:异步地加载 chunk 和预取,以便为你的项目和用户提供最佳体验。


http://www.ppmy.cn/embedded/111336.html

相关文章

HarmonyOS开发实战( Beta5.0)滑动视频自动播放案例实践

鸿蒙HarmonyOS开发往期文章必看: HarmonyOS NEXT应用开发性能实践总结 最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通) 介绍 本示例主要介绍视频列表滑动到屏幕中间自动播放场景&…

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compo…

springboot 整合swagger

没有多余废话&#xff0c;就是干 spring-boot 2.7.8 springfox-boot-starter 3.0.0 结构 POM.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/…

【Redis入门到精通一】什么是Redis?

目录 Redis 1. Redis的背景知识 2.Redis特性 3.Redis的使用场景 4.Ubuntu上安装配置Redis Redis Redis在当今编程技术中的地位可以说非常重要&#xff0c;大多数互联网公司内部都在使用这个技术&#xff0c;熟练使用Redis已经成为开发人员的一个必备技能。本章将带领读者…

Newtonsoft.Json (Json.NET)使用笔记

Newtonsoft.Json 简单介绍许可证功能特点 代码示例基本类型的序列化和反序列化对象与集合的序列化和反序列化对象的序列化与反序列化集合的序列化和反序列化 自定义转换器的使用自定义日期格式自定义转换器处理特殊类型 动态类型和 LINQ to JSON使用动态类型解析未知结构的 JSO…

QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGis接口说明文档)

OSGeo4W简介 更高级的 QGIS 用户应该使用 OSGeo4W 包。此安装程序可以并行安装多个版本的 QGIS&#xff0c;并且还可以进行更高效的更新&#xff0c;因为每个新版本仅下载和安装更改的组件。      OSGeo4W 存储库包含许多来自 OSGeo 项目的软件。包括 QGIS 和所有依赖项&a…

uniapp对tabbar封装,简单好用

第一种&#xff0c;效果展示 上代码&#xff0c;新建一个公用组件&#xff0c;tabbar.vue <template><view class"tabbar"><view class"tabbar-item" click"tabbarbtn(0)"><image class"item-image" v-if"…

什么是 TDengine?

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台&#xff0c;其核心模块是高性能、集群开源、云原生、极简的时序数据库。它能安全高效地将大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发&#xff0c;对业务运行状态进…