导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

软实力

算法

UI、组件库

Node

业务技能

针对性攻坚

AI


列举常见 plugin 和 loader

🔥 loader VS plugin

判断经验:

一、webpack 的核心模型(理解本质)

webpack 本质只有一件事:

从入口出发,把“模块” → 构建成 → “资源(assets)”

在这个过程中,有两条完全不同的能力线:

loader:模块维度(Module → Module)

plugin:构建维度(整个生命周期)

这就是它们在架构层面的分工。

二、Loader:你什么时候“必须”用 loader?

Loader 的本质

loader = 文件内容转换器

source code → loader → new source code

Loader 的 3 个核心特征

特征 说明
🎯 目标明确 只处理某一类文件
🧵 单线程 对每个模块独立执行
🔄 纯函数思维 输入确定,输出确定

典型 loader 场景(必须用 loader)

1️⃣ 文件格式转换

.less → css
.scss → css
.ts → js
.vue → js

为什么是 loader?

2️⃣ 对源码做“语义层面的修改”

比如:

// input
console.log('debug')

// output
if (process.env.NODE_ENV !== 'production') {
  console.log('debug')
}

👉 只和“这个文件”有关 → loader

3️⃣ 非 JS 资源转 JS 模块

import img from './logo.png'

本质是: