前端工程化-webpack

2018-04-09  本文已影响70人  zhaochengqi

webpack本质上是一个现代 JavaScript 应用程序的静态模块打包器(Module bundler)。

本地安装

npm install --save-dev webpack
npm install --save-dev webpack@<version>

对于大多数项目,建议本地安装。这可以使我们在引入破坏式变更(breaking change)的依赖时,更容易分别升级项目。通常,webpack 通过运行一个或多个 npm scripts,会在本地 node_modules 目录中查找安装的 webpack:

"scripts": {
    "start": "webpack --config webpack.config.js"
}

当你在本地安装 webpack 后,你能够从 node_modules/.bin/webpack 访问它的 bin 版本。
Node 8.2+ 版本提供的 npx 命令,可以运行在初始安装的 webpack 包(package)的 webpack 二进制文件(./node_modules/.bin/webpack 在本地 node_modules 目录中查找安装的 webpack)

./node_modules/.bin/webpack
简化为
npx webpack

全局安装

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

npm install --global webpack

终端测试

npx webpack src/index.js --output dist/bundle.js

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

配置文件

大多数项目会需要很复杂的设置,这就是为什么 webpack 要支持配置文件。这比在终端(terminal)中输入大量命令要高效的多,所以让我们创建一个取代以上使用 CLI 选项方式的配置文件

npx webpack --config webpack.config.js

注意,当在 windows 中通过调用路径去调用 webpack 时,必须使用反斜线()。例如 node_modules.bin\webpack --config webpack.config.js。

npm 脚本(npm script)

考虑到用 CLI 这种方式来运行本地的 webpack 不是特别方便,我们可以设置一个快捷方式。在 package.json 添加一个 npm 脚本(npm script)

package.json

{
  ...
  "scripts": {
    "build": "webpack"
  },
  ...
}

现在,可以使用 npm run build 命令,来替代我们之前使用的 npx 命令。注意,使用 npm 的 scripts,我们可以像使用 npx 那样通过模块名引用本地安装的 npm 包。这是大多数基于 npm 的项目遵循的标准,因为它允许所有贡献者使用同一组通用脚本(如果必要,每个 flag 都带有 --config 标志)。

通过向 npm run build 命令和你的参数之间添加两个中横线,可以将自定义参数传递给 webpack,例如:npm run build -- --colors。

上一篇 下一篇

猜你喜欢

热点阅读