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

【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 和预取,以便为你的项目和用户提供最佳体验。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux + 宝塔 + django + websocket 部署
  • 【C++前后缀分解】1888. 使二进制字符串字符交替的最少反转次数|2005
  • Docker部署Joplin Server教程
  • 嵌入式开发—CAN通信协议详解与应用(中)
  • Java 线程超时时间:作用于核心线程还是最大线程?
  • libyuv之linux编译
  • 【揭秘Java】线程安全中的有序性之谜
  • 信通院发布首个《大模型媒体生产与处理》标准,阿里云智能媒体服务作为业界首家“卓越级”通过
  • 树莓派智能语音助手实现音乐播放
  • TSRPC+Cocos
  • 在react中 使用redux
  • 2024年最新软件测试学习路线图(从入门到精通)
  • 利用长度选择器优化Prompt示例选择:提升AI对话效率
  • python实现多个pdf文件合并
  • docker镜像结构
  • ES6指北【2】—— 箭头函数
  • css选择器
  • Fundebug计费标准解释:事件数是如何定义的?
  • JavaScript HTML DOM
  • JavaScript设计模式系列一:工厂模式
  • Java程序员幽默爆笑锦集
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue-cli3搭建项目
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何进阶一名有竞争力的程序员?
  • 数组的操作
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 【干货分享】dos命令大全
  • 7行Python代码的人脸识别
  • 数据可视化之下发图实践
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #565. 查找之大编号
  • #define,static,const,三种常量的区别
  • $.ajax中的eval及dataType
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (三)Honghu Cloud云架构一定时调度平台
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)创业家杂志:UCWEB天使第一步
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)负载均衡,回话保持,cookie
  • .htaccess 强制https 单独排除某个目录
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Core与存储过程(一)
  • []利用定点式具实现:文件读取,完成不同进制之间的