webpack简介与安装

188 阅读3分钟

webpack是什么

webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。 在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。 它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。

webpack1.png

webpack五个核心概念

1、Entry

入口(Entry)指示 webpack 以哪个文件为入口起点开始打包,分析构建内部依赖图。

2、Output

输出(Output)指示 webpack 打包后的资源 bundles 输出到哪里去,以及如何命名。

3、Loader

Loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)

4、Plugins

插件(Plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。 ###5、Mode

选项描述特点
development会将 DefinePlugin 中 process.env.NODE_ENV 的值设置 为 development。启用 NamedChunksPlugin 和 NamedModulesPlugin。能让代码本地调试运行的环境
production会将 DefinePlugin 中 process.env.NODE_ENV 的值设置 为 production。启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 TerserPlugin。能让代码优化上线运行的环境

安装webpack

* 前提条件

在开始之前,请确保安装了 Node.js 的最新版本。使用 Node.js 最新的长期支持版 本(LTS - Long Term Support),是理想的起步。 使用旧版本,你可能遇到各种问 题,因为它们可能缺少 webpack 功能, 或者缺少相关 package。 你可以选择下载适合自己平台的安装包,自行安装即可,本文不再赘述。

* 本地安装

npm install --save-dev webpack
# 或指定版本
npm install --save-dev webpack@<version>

提示:是否使用 --save-dev 取决于你的应用场景。假设你仅使用 webpack 进行构建 操作,那么建议你在安装时使用 --save-dev 选项,因为可能你不需要在生产环 境上使用 webpack。如果需要应用于生产环境,请忽略 --save-dev 选项

如果你使用 webpack v4+ 版本,并且想要在命令行中调用 webpack ,你还需要安装 CLI。

npm install --save-dev webpack-cli

提示:对于大多数项目,我们建议本地安装。想要运行本地安装的 webpack,你可以通过 node_modules/.bin/webpack 来 访问它的二进制版本。另外,如果你使用的是 npm v5.2.0 或更高版本,则可以 运行 npx webpack 来执行。

* 全局安装

通过以下 NPM 安装方式,可以使 webpack 在全局环境下可用:

npm install --global webpack

提示:不推荐全局安装webpack。这会将你项目中的 webpack 锁定到指定版本,并且在使用不同的 webpack 版本的项目中, 可能会导致构建失败。

* 最新体验版本

如果你热衷于使用最新版本的 webpack,你可以使用以下命令安装 beta 版本, 或 者直接从 webpack 的仓库中安装:

npm install --save-dev webpack@next
# 或特定的 tag/分支
npm install --save-dev webpack/webpack#<tagname/branchname>

提示:安装这些最新体验版本时要小心!它们可能仍然包含 bug,因此不应该用于生产环境。