npm 包 eslint-config-servicenow 使用教程

最近公司实施了 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


猜你喜欢

  • npm 包 js-sourcemap 使用教程

    介绍 随着前端开发的复杂度不断增加,调试变得愈加困难,特别是当代码被压缩和混淆后。为了方便定位错误,并能够更好地调试代码,sourcemap 就应运而生。sourcemap 可以将压缩后的代码映射回原...

    3 年前
  • npm 包 oled-menu 使用教程

    介绍 npm 包 oled-menu 是一个用于 OLED 屏幕上创建交互式菜单的工具包。使用 oled-menu 可以方便地创建菜单并在 OLED 屏幕上展示,支持多种方式的用户输入。

    3 年前
  • npm 包 teapot-server 使用教程

    npm 包 teapot-server 是一个轻量级的本地服务器,其特点是简单易用、可靠性高。它通过模拟 HTTP 服务响应状态码为 418(I'm a teapot),来达到易于使用和测试的目的。

    3 年前
  • npm 包 mudawanah-school 使用教程

    最近发布了一个 npm 包-mudawanah-school,它是一个前端的常用工具类库,提供了许多实用的函数、正则表达式等等。在本文中,我们将会深入讲解 mudawanah-school 的使用教程...

    3 年前
  • npm 包 ea-logsqite 使用教程

    简介 在现代的 Web 应用程序中,日志记录是至关重要的部分。利用日志系统,您可以获取应用程序运行的详细信息,以帮助开发人员诊断问题并了解如何优化代码。在这篇文章中,我们将介绍一种名为 ea-logs...

    3 年前
  • npm 包 prime-grid 使用教程

    前言 在前端开发中,我们经常需要处理数字计算的任务,其中素数(prime number)的计算是一个经常使用的需求。prime-grid 是一个专门用于计算素数和找到质数因子的 npm 包。

    3 年前
  • npm 包 lee-metronic 使用教程

    在前端开发中,使用现成的 UI 库有助于提高开发效率和提升用户体验。lee-metronic 是一个基于 Metronic UI 的 npm 包,提供了丰富的 UI 组件和工具,适用于使用 Vue.j...

    3 年前
  • npm 包 strip-carto 使用教程

    前言 在前端开发中,我们常常会使用 CSS 预处理器(如 Less、Sass、Stylus 等)来简化我们的样式编写,并增强 CSS 的功能。其中,CartoCSS 是一个基于 CSS 的语言,专门用...

    3 年前
  • npm 包 react-table-drag-select 使用教程

    前言 在前端开发中,表格组件是必不可少的,而表格有时需要进行批量操作,这时候就需要拖拽选择功能。react-table-drag-select 就是一个非常好用的 npm 包,可以为 React 表格...

    3 年前
  • npm 包 encoded 使用教程

    在前端开发中,经常会遇到需要对数据进行编码的情况,例如在网络传输中需要对数据进行加密,或者在处理文件数据时需要对数据进行压缩。这时候,我们可以使用 npm 包 encoded 来进行编码的处理。

    3 年前
  • npm包react-web-share-api使用教程

    简介 分享是Web应用程序中重要的一部分。为了提供最佳的分享体验,Web 浏览器正在积极开发新的API,使得开发者可以让他们的应用程序更好地融入其平台,促进对话分享和安全。

    3 年前
  • npm 包 ioc-lib.js 使用教程

    在前端开发中,我们经常需要使用各种不同的框架和库来完成我们的工作。但是,有时候我们可能需要自己写一些通用、可定制的功能,这时候就可以使用 ioc-lib.js 这个 npm 包来帮助我们了。

    3 年前
  • npm 包 ionic-orm3 使用教程

    介绍 ionic-orm3 是针对 Ionic 框架的一种基于 TypeScript 编写的对象关系映射(ORM)工具,用于简化开发者在使用 Ionic 框架过程中与数据库进行交互的过程。

    3 年前
  • npm 包 validate-protobuf 使用教程

    protobuf 是一种轻量级的数据交换格式,主要用于移动设备和低带宽网络中的数据传输。而 validate-protobuf 则是一款基于 protobuf 的 schema validator。

    3 年前
  • npm 包 infinite-scroll-ng 使用教程

    前言 无限滚动是一种实现动态加载数据的常见方式,其可以大大提高用户的使用体验。在前端界,我们经常使用插件来实现无限滚动功能。在这篇文章中,我们将介绍如何使用 npm 包 infinite-scroll...

    3 年前
  • 使用 npm 包 vscode-install-vsix 安装 VSCode 插件

    在前端开发工作中,使用 Visual Studio Code (VSCode) 来作为代码编辑器已经成为了常态。而 VSCode 插件的使用也让我们在工作中事半功倍,这些插件可以提升我们的生产力和协作...

    3 年前
  • 使用 angular-quartz-cron npm 包

    在前端开发中,我们经常会需要使用一些时间计划工具。其中,Quartz Cron 表达式是一种非常强大的时间表达式语言,可以用来描述复杂的时间计划规则。 在本文中,我们将介绍如何使用 npm 包 an...

    3 年前
  • npm 包 angular-sha 使用教程

    如果你是一名前端开发人员,那么你一定很熟悉 npm 这个包管理工具。npm 中提供了许多优秀的开源库,它们可以帮助我们更轻松地开发项目。在这篇文章中,我将向你介绍一个非常有用的 npm 包 angul...

    3 年前
  • npm 包 @hasali19/ts-react-redux 使用教程

    简介 @hasali19/ts-react-redux 是一个基于 TypeScript 和 React 的轻量级状态管理库。它提供了一种简单易用的方式来管理应用程序的数据流,使得开发者能够更加专注于...

    3 年前
  • npm 包 @webdav-server/ftp 使用教程

    前言 在前端开发中,常常需要与文件相关的操作,而 FTP 协议是其中不可或缺的一部分。本文将介绍如何使用 npm 包 @webdav-server/ftp 来实现 FTP 的功能,以及其使用方法和前端...

    3 年前

相关推荐

    暂无文章