lodash按需引入
lodash按需引入
·
我们最常见的方式是引入整个对象或者引入特定的函数:
// 方式1:引入整个lodash对象
import _ from "lodash";
// 方式2:按名称引入特定的函数
import { cloneDeep } from "lodash";
这两种方式都会引入整个 lodash 库。Lodash 含有许多函数,项目里一般只会用到其中的小部分,为了避免引入不必要的代码,lodash 提供了多种支持按需加载的方式。
配合插件:lodash-webpack-plugin
npm i lodash-webpack-plugin babel-plugin-lodash
.babel.config.js
module.exports = {
plugins: ["lodash"],
};
vue.config.js
const LodashModuleReplacementPlugin = require("lodash-webpack-plugin");
module.exports = {
chainWebpack: (config) => {
config.plugin("loadshReplace").use(new LodashModuleReplacementPlugin());
},
};
- A.使用打包插件:
插件 babel-plugin-lodash 和 lodash-webpack-plugin 能够在打包时去掉不必要的 lodash 代码,减小产物体积。
-B. 指用具体的功能模块
// 只引入 array 模块的功能
import array from "lodash/array";
// 只引入 cloneDeep 函数
import cloneDeep from "lodash/cloneDeep";
这种方式只会引入引用路径对应的模块,无需使用插件,也不会有冗余代码。缺点是每个 import 语句只能引入一个函数,可能导致多个 import 语句。
- C)使用单独的函数库
Lodash 为每个方法提供了单独的 npm 包,你可以只下载你想要的函数。
let _trim= require('lodash.trim')
// or
import trim from 'lodash.trim'
// 使用
trim(' 123123 ')
缺点:
不推荐在项目中使用这种方式。首先,它并不像看起来一样轻量,lodash 中的公共代码会存在于每一个函数包中。其次,每个方法都是独立的依赖包,意味着多次安装多个 package.json 依赖项、多个 node_modules 包目录。会造成代码冗余。
更多推荐
已为社区贡献24条内容
所有评论(0)