webpack — 基础介绍

2022年9月12日 作者 张舫

初识webpack

webpack默认配置文件:webpack.config.js。

配置文件的主要组成

 

简单案例

1.创建 webpack.config.js 文件,填写内容

2 创建 src/helloworld.js 和 src/index.js文件

src/index.js

src/helloworld.js

通过webpack命令运行

通过npm script 运行

然后运行

 

Entry的用法 和 output的用法

Loaders

webpack开箱即用只支持js和json两种文件类型,通过Loaders支持其他文件类型并且把它转换成有效的模块,并且可以添加到依赖图中 Loaders本身是一个函数,接收源文件作为参数,返回转换的结果

组件 说明
babel-loader 为了使JavaScript更好的兼容 es6 es7
css-loader 支持css文件的加载和解析
less-loader 将less转换为css
ts-loader 将ts转换为js
file-loader 进行文字图片的打包
raw-loader 将文件以字符串的形式导入
thread-loader 多进程打包

Loaders的配置

Plugins

插件用于 bundle(可执行文件) 文件的优化,资源管理和环境变量注入,作用与整个构建过程

名称 描述
CommonsChunkPlugin 将Chunk相同的模块代码提取成公共js
CleanWebpackPlugin 清理构建目录
ExtractTextWebpackPlugin 将css从bunlde文件里提取成一个独立的css文件
CopyWebpackPlugin 将文件或文件夹拷贝输出到目录
HtmlWebpackPlugin 创建html文件去承载输出的bunlde
UglifyjsWebpackPlugin 压缩js
ZipWebpackPlugin 将打包的资源生成一个zip

Plugins的配置

 

mode

通过将 mode 参数设置为 development、production 或 none,您可以启用 webpack 与每个环境对应的内置优化。默认值为production。

选项 描述
development 开启 NamedChunksPlugin 和 NamedModulesPlugin
production 开启 FlagDependencyUsagePlugin、FlagIncludedChunksPlugin、ModuleConcatenationPlugin、NoEmitonErrorsPluginOccurrenceOrderPlugin、SideEffectsFlagPlugin、TerserPlugin
none 不开启任何优化选项