javascript Webpack是什么_如何打包模块

13次阅读

webpack 是一个现代 javaScript 应用的静态模块打包工具,将 jscss、图片等资源视为模块,通过依赖图打包为浏览器可运行文件,并通过 loader 处理非 JS 资源、plugin 扩展构建能力,支持代码分割与热更新。

javascript Webpack是什么_如何打包模块

Webpack 是一个用于现代 javascript 应用的静态模块打包工具。它把项目中所有资源(JS、CSS、图片、字体等)都视为模块,通过依赖关系图(dependency graph)将它们打包成一个或多个浏览器可运行的文件(如 bundle.js)。

Webpack 的核心作用:解决模块化与资源管理问题

浏览器原生只支持简单的 标签加载,不支持 CommonJS(require)、ES Module(import/export)等语法,也不懂如何处理 CSS 或 svg。Webpack 填补了这个 gap:

  • 将不同模块语法(ESM、CommonJS、amd)统一转换、解析和合并
  • 通过 loader(如 babel-loadercss-loader)处理非 JS 文件
  • 通过 plugin(如 htmlWebpackPluginMiniCssExtractPlugin)扩展构建能力(注入 HTML、抽离 CSS、压缩代码等)
  • 支持代码分割(code splitting)、懒加载(dynamic import)、热更新(HMR)等高级特性

如何用 Webpack 打包一个简单模块

以一个含 ES Module 的小项目为例:

1. 初始化项目并安装 Webpack

npm init -y
npm install --save-dev webpack webpack-cli

立即学习Java免费学习笔记(深入)”;

2. 创建基础文件

src/index.js

import { add } from './math.js';
console.log(add(2, 3));

src/math.js
export const add = (a, b) => a + b;

3. 运行打包命令

npx webpack --mode=development
默认会以 src/index.js 为入口,输出到 dist/main.js

4. 在 HTML 中使用结果

新建 dist/index.html,引入 ,打开即可运行。

配置 Webpack(webpack.config.js

当需求变复杂(比如要处理 CSS、自动注入 HTML),需手动配置:

在项目根目录创建 webpack.config.js

const path = require('path'); module.exports = {   entry: './src/index.js',   output: {     filename: 'bundle.js',     path: path.resolve(__dirname, 'dist')   },   module: {     rules: [       {         test: /.css$/i,         use: ['style-loader', 'css-loader']       }     ]   } };

注意:style-loadercss-loader 需单独安装:npm install --save-dev style-loader css-loader

常见打包流程与关键概念

  • Entry:入口文件,Webpack 从这里开始构建依赖图
  • Output:打包后文件的输出位置和命名规则
  • Loader:翻译器,让 Webpack 能“读懂”非 JS 文件(如 .vue.scss.png
  • Plugin:增强器,执行资源优化、环境注入、生成 HTML 等任务
  • Mode:指定 development(开发模式,带 source map)或 production(生产模式,自动压缩、Tree Shaking)

不复杂但容易忽略。理解入口、loader、plugin 这三块,就能应对大多数打包场景。

text=ZqhQzanResources