前言
lazy-resolver 是一个由 webpack 团队开发的 npm 包,用于解决 JavaScript 模块的路径解析问题。在项目中使用 lazy-resolver 可以极大的提升打包速度以及降低整个项目的体积。
安装
npm install lazy-resolver --save
使用
在 webpack.config.js 中配置:
-- -------------------- ---- ------- ----- ------------------ - ------------------------- -------------- - - -- --- -------- - -------- - --- -------------------- - - -
这样做会把所有的模块解析委托给 lazy-resolver 处理。lazy-resolver 会在实际需要时才去解析模块路径,这也是它名字中 lazy(延迟)的含义所在。
示例
下面我们来看一下 lazy-resolver 的示例代码。
import _ from 'lodash'; const { abc } = require('./foo');
在没有使用 lazy-resolver 的情况下,会按照下面的流程进行路径解析:
- 先从 node_modules 中找到 lodash 包
- 再从当前文件所在目录中找到 foo.js
而使用了 lazy-resolver 后,会先按照下面的步骤进行:
- 判断是否存在 lodash 包
- 判断是否存在 ./foo.js
- 如果都不存在,则继续按默认路径查找
通过这种方式可以省去许多多余的路径解析,大大提升打包速度。
总结
在项目中使用 lazy-resolver 可以极大的提升打包速度以及减小整个项目的体积。当然,如果项目中使用了一些自定义的路径,也可以通过配置加入进来,来对这些路径进行延迟解析处理。使用方法也十分简单,只需要按照上述示例代码在 webpack.config.js 中进行配置即可。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600559e181e8991b448d7711