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

【Webpack--000】了解Webpack

🤓😍Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主
🐱‍🐉若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍*
🐞🐞文章若有错误或某个内容有更优的解决方案,还望指正!👍*
更多webpack入门知识,详细解读webpack的基本使用、进阶优化等;请阅读专栏:sam9029–CSDN博客—Webpack入门笔记
或者访问 作者个人博客网站:sam9029.asia—Webpack入门笔记


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.kler.cn/news/309371.html

相关文章:

  • 如何查看微信聊天记录?四种实用方法查询微信聊天记录,赶快码住!
  • 分析内存动态加载PE文件
  • 第十一章 【后端】商品分类管理微服务(11.3)——商品管理模块 yumi-etms-goods
  • NLP与文本生成:使用GPT模型构建自动写作系统
  • 建筑机器人通用操作系统设计方案
  • Js中call、apply和bind的区别
  • C语言 | Leetcode C语言题解之第412题Fizz Buzz
  • 鸿蒙开发(NEXT/API 12)【网络连接管理】 网络篇
  • 实现浏览器的下拉加载功能(类似知乎)
  • maven项目下使用Jacoco测试覆盖率
  • vue3使用panolens.js实现全景,带有上一个下一个,全屏功能
  • 风力发电厂智能化转型5G工业路由器物联网应用解决方案
  • 大数据-133 - ClickHouse 基础概述 全面了解
  • C#基础(12)递归函数
  • 测试工程师学历路径:从功能测试到测试开发
  • MUNIK谈ASPICE系列专题分享(六)企业为什么要做ASPICE?
  • 5.内容创作的未来:ChatGPT如何辅助写作(5/10)
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-15
  • Nacos服务治理
  • 电学基础概念详解及三相电公式汇总
  • AI写作神器:助力体制内小白轻松完成材料撰写,减少慌张茫然
  • unity的学习
  • linux驱动开发-内核并发 poll 和 lock
  • 深度解码:机器学习与深度学习的界限与交融
  • CMakeLists.txt的学习了解
  • 【LabVIEW学习篇 - 25】:JKI状态机
  • I2C/IIC学习笔记
  • nonlocal本质讲解(前篇)——从滤波到Nonlocal均值滤波
  • Java项目实战II基于Spring Boot的宠物商城网站设计与实现
  • linux-软件包管理-包管理工具(Debian 系)