npm 包 eslint-config-servicenow 使用教程

阅读时长 4 分钟读完

最近公司实施了 eslint 规范来统一代码风格,之前一直用的是 eslint-config-airbnb,但是在实际项目开发中,发现不少问题。后来发现 ServiceNow 公司团队也有推出一款 eslint 扩展包,名为 eslint-config-servicenow。经过实践,发现使用起来非常优秀。在这里分享一下使用教程,希望对前端开发同学们有所帮助。

安装

在项目根目录中执行以下命令安装 eslint-config-servicenow:

配置

在项目中创建 .eslintrc.json 文件,并添加以下配置:

-- -------------------- ---- -------
-
    ------- -----
    ---------- -
        ------------
    --
    -------- -
        -- ------ ----
    -
-

通过 extends 引入 servicenow 配置项。

规则说明

  • 所有 NaN 操作都应使用 Number.isNaN 判断
    • 推荐使用 eslint-isnan 插件或 no-self-compare 规则来检测 NaN;
  • 所有 undefined 操作都应使用 void 0 判断
    • 推荐使用 eslint-void 插件;
  • 使用 isNaN() 时,请注意传入参数的类型,必须是 number,否则行为错误
    • 建议单独使用 eslint-isnan 插件来检测 isNaN 函数;
  • 不在对象上使用 hasOwnProperty 函数
    • 当目标对象本身重载了 hasOwnProperty 函数时,该规则将失效;
  • 应使用 === 代替 ==
    • 推荐使用 eqeqeq 规则;
  • 不应使用 with 语句
    • with 语句已被 ECMAScript 6 标准废弃;
  • 不应使用 eval 函数
    • 建议单独使用 eslint-no-eval 插件来检测 eval 函数;
  • 不应使用 for-in 枚举数组
    • 建议单独使用 guard-for-in 规则来检测 for-in 枚举数组;
  • 对象和数组的结尾处不应有逗号
    • 推荐使用 comma-dangle 规则。

示例代码

-- -------------------- ---- -------
---
 - -- ----- ------- ------------ --
 --
-- -----
-- ------------ -
  ----------------- -- --------
-

-- ----
-- ------------------- -
  ----------------- -- ---------------
-

---
 - -- --------- ----- ---- - --
 --
-- -----
-- ---------- --- ---------- -
  ----------------- -- ------------
-

-- ----
-- ----- - --- ---------- -
  ----------------- -- ---- ----
-

---
 - -- ---- ---------
 --
-- -----
----- --- - -
  -- --
  -- -
--

---- ----- -
  ------------- - ---
-

-- ----
----- --- - -
  -- --
  -- -
--

----------------- - -------

---
 - ----------- ------ --
 --
-- -----
----- --- - --- -- ---

--- ---- - -- ---- -
  --------------------
-

-- ----
----- --- - --- -- ---

--- ------ ---- -- ---- -
  ------------------
-

总结

使用 eslint-config-servicenow 可以帮助前端开发团队更好地保证代码质量和一致性。通过此扩展包内置的严谨规则,可以有效减少代码的漏洞、错误和代码瑕疵。另外,个人认为,这些规则从某种程度上也反映出了一种良好的编程实践。

在使用过程中,还需要结合项目实际情况进行一些调整和适应,比如在规则配置方面,需要根据项目实际需求进行调整和定义。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005600d81e8991b448dddf4

纠错
反馈