什么是 webpack?

Webpack 介绍

什么是 webpack?

:::tip 官方描述

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

:::

怎么理解这段话呢,我们项目一般都是由 html 文件、css 文件、js 文件组成。使用 webpack 模块化打包工具,可以把整个项目的代码全部打包并且压缩成一个名为 bundles.js 的文件,通过 index.html 去引入它。

我们在学习 webpack 的时候,可能会觉得很难,那是因为你还没想通。我们应该要多一点思考为什么会有这个东西,它存在的意义是什么?解决了什么问题?抱着这种心态去学习,复杂的问题也会变的很简单。

官方文档地址:https://webpack.docschina.org

webpack 核心

webpack 中的核心是 loader,假设没有 loader,那么 webpack 就是一个合并代码的工具。

webpack 工作原理

  1. 一般项目都会散落各种代码以及资源文件
  2. webpack 会根据配置找到资源文件的入口(一般都是 js 文件)
  3. 顺着入口文件的代码寻找 import 或者 require 语句,解析推断出来所对应的资源模块,
  4. 然后分别解析每个资源模块所对应的依赖,最终将项目中有用到的文件形成一个依赖树
  5. webpack 遍历依赖树,找到每个资源节点所对应的文件,然后通过配置的 loader 加载器去加载
  6. 最后将加载到的结果添加到 bundle.js 中

原文链接:菜园前端

相关推荐
茶憶37 分钟前
UniApp 安卓端实现文件的生成,写入,获取文件大小以及压缩功能
android·javascript·vue.js·uni-app
未来之窗软件服务5 小时前
一体化系统(九)智慧社区综合报表——东方仙盟练气期
大数据·前端·仙盟创梦ide·东方仙盟·东方仙盟一体化
陈天伟教授8 小时前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
信看9 小时前
NMEA-GNSS-RTK 定位html小工具
前端·javascript·html
Tony Bai9 小时前
【API 设计之道】04 字段掩码模式:让前端决定后端返回什么
前端
爱吃大芒果9 小时前
Flutter 主题与深色模式:全局样式统一与动态切换
开发语言·javascript·flutter·ecmascript·gitcode
苏打水com9 小时前
第十四篇:Day40-42 前端架构设计入门——从“功能实现”到“架构思维”(对标职场“大型项目架构”需求)
前端·架构
king王一帅9 小时前
流式渲染 Incremark、ant-design-x markdown、streammarkdown-vue 全流程方案对比
前端·javascript·人工智能
苏打水com9 小时前
第十八篇:Day52-54 前端跨端开发进阶——从“多端适配”到“跨端统一”(对标职场“全栈化”需求)
前端