webpack | 青训营笔记

43 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第15天

为什么要学习Webpack?

  • 这是前端工程化的工具
  • 提高竞争力
  • 高阶前端必经之路

什么是webpack

本质上是一种前端资源编译、打包工具

使用Webpack

配置总览

image.png

关于webpack的使用方法,基本都围绕“配置”展开,而这些配置大致可划分为两类:

  • 流程类:作用于流程中某个或若干个环节,直接影响打包效果的配置项
  • 工具类:主流程之外,提供更多工程化能力的配置项

组件loader

Loader 是一个带有副作用的内容转译器,是webpack中提供了一种处理多种文件格式的机制,因为webpack只认识JS和JSON,所以Loader相当于翻译官,将其他类型资源进行预处理。

loader 加载器的作用: 协助 webpack 打包处理特定的文件模块,比如:

  • css-loader 可以打包处理 '.css' 相关的文件
  • less-loader 可以打包处理 '.less' 相关的文件
  • babel-loader 可以打包处理 webpack 无法处理的高级JS语法

image.png

如何编写loader

这里可以参考老师的一篇博客 [mp.weixin.qq.com/s/TPWcB4MfV…]

babel

webpack 只能打包处理一部分高级的 Javascript 语法,对于一些 webpack 无法处理的高级 js 语法,需要借助于 babel-loader 进行打包处理

image.png

插件plugin

image.png 为什么需要插件? 从图中看到这是一个特别复杂的过程,那么:

新人需要了解整个流程细节,

上手成本高功能迭代成本高,牵一发动全身

功能僵化,作为开源项目而言缺乏成长性等等

心智成本高=>可维护性低=>生命力弱 因此使用插件

插件架构精髓:对扩展开放,对修改封闭

学习思路与方法

image.png