如果你正在使用 lodash 或者 underscore,那么你可能会想要使用 eslint-plugin-you-dont-need-lodash-underscore 来帮助你检查你的代码中是否存在可以直接使用原生 JavaScript 实现的功能。
安装
首先,你需要在你的项目中安装 eslint 和 eslint-plugin-you-dont-need-lodash-underscore:
npm install --save-dev eslint eslint-plugin-you-dont-need-lodash-underscore
配置
然后,在你的 .eslintrc 配置文件中添加以下代码:
-- -------------------- ---- ------- - ---------- - --------------------------------- -- -------- - --------------------------------------------------------- -------- ----------------------------------------------------- -------- --------------------------------------------------------- -------- ---------------------------------------------------- -------- --------------------------------------------------- -------- -------------------------------------------------------------- -------- ------------------------------------------- ------- - -
这将启用该插件,以及其中的所有规则。
规则说明
以下是该插件中包含的规则说明。
no-unnecessary-wrapper
避免使用不必要的 lodash 或 underscore 封装方法。
// 不好的写法: _.map([1, 2, 3], x => x * 2); // 好的写法: [1, 2, 3].map(x => x * 2);
no-extra-arguments
避免在 underscore 和 lodash 方法中使用多余的参数。
// 不好的写法: _.partition([1, 2, 3], x => x > 1, 123); // 好的写法: _.partition([1, 2, 3], x => x > 1);
no-extra-iteratee-args
避免在 underscore 和 lodash 方法中使用多余的迭代函数参数。
// 不好的写法: _.orderBy([{name: 'Bob', age: 30}, {name: 'Alice', age: 25}], ['name'], (item, index, collection) => item.age); // 好的写法: _.orderBy([{name: 'Bob', age: 30}, {name: 'Alice', age: 25}], ['name']);
no-extra-decimals
避免使用不必要的小数位数,以及可能导致精度问题的复杂运算。
// 不好的写法: _.round(1.005, 2); // 好的写法: Math.round(1.005 * 100) / 100;
no-extra-matches
避免使用多余的正则表达式匹配。
// 不好的写法: _.replace('Hello World!', /W/gi, 'w'); // 好的写法: 'Hello World!'.replace(/W/gi, 'w');
no-extra-underscore-methods
避免对数组或对象进行不必要的 lodash 或 underscore 方法调用。
// 不好的写法: _.isEmpty([]); // true // 好的写法: [].length === 0; // true
no-chain
避免使用链式调用,以及可能导致性能问题的链式调用。
-- -------------------- ---- ------- -- ------ -------- ------------ -- ----------- --- -------- --------- -- ----------- ---------- ------- -------- -- ----- ----- ------------ -- ----------- --- -------- --------- -- ----------- ------- --------------- ------ ----- -- ------------------- --- ------
示例代码
下面是一个使用该插件的示例代码。
-- -------------------- ---- ------- ----- ----- - - - ------ ----- --- ------- -------- ------- --- -- - ------ ----- --- ------- ------ ------- --- -- - ------ ----- --- ------- -------- ------- --- - -- -- ------ ----- ------- - -------------- ------------ -- ----------- --- -------- --------- -- ----------- ---------- ------- --------- -- ----- ----- ------- - ----- ------------ -- ----------- --- -------- --------- -- ----------- ------- --------------- ------ ----- -- ------------------- --- ------- --------------------- -- ------ --- ----- --- --------------------- -- ------ --- ----- ---
总结
通过使用 eslint-plugin-you-dont-need-lodash-underscore,我们可以避免不必要的 lodash 和 underscore 方法调用,提高代码的可读性和性能。同时,我们也可以更好地理解 JavaScript 标准库的使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/56737