19 个 Node.js 包,让 JavaScript 开发人员了解高效和轻松的生活

提升 JavaScript 开发效率的 Node.js 包

您是否在 JavaScript 代码编写上花费了过多时间?本文将介绍一些可以使 JavaScript 开发人员的工作更加高效和轻松的 Node.js 包。

JavaScript 是一种同步、单线程的编程语言,广泛应用于软件和应用程序开发。许多框架,如 React、Angular、Vue、Express 和 Node.js,都是基于 JavaScript 构建的。

由于 Promise、事件循环、回调、提升、闭包等复杂概念,许多开发人员在编写 JavaScript 代码时会遇到挑战。

为了简化 JavaScript 开发,许多 Node.js 包可以帮助处理错误、格式化代码、删除文件、调试代码、确保安全等。有些包还提供交互式命令行用户界面,以更直观地展示 CPU 使用率、处理能力和错误严重程度。

Retire.js

Retire.js 是一个 JavaScript 库,用于识别项目中使用的 JavaScript 库版本中存在的已知漏洞。

它可以用作 Chrome 扩展、Firefox 扩展、命令行扫描器或 Grunt 插件等。可以使用以下命令进行安装:

$ npm install -g retire

Retire.js 提供了多种命令来扫描 JavaScript 和 Node 文件。它可以扫描 JavaScript 网站并将警告记录在开发人员的控制台中。当发现漏洞时,Retire.js 会生成退出代码 13。Gulp 任务可以自动扫描文件并报告漏洞。

Np

Np 是一个 JavaScript 包,提供代码清理、依赖安装、包和标签发布等多种功能。它确保代码被推送到主分支,并提供交互式用户界面。

双因素身份验证可以提高新存储库的安全性。它通过重新安装依赖项来确保工作基于最新版本。最新版本会被推送到 npm。可以使用以下命令安装:

$ npm install --global np

Np 的各种功能包括从任何分支发布代码、创建用于发布的子目录以及跳过代码清理和测试等。np 可以通过配置文件(如 np-config.js 和 np-config.json)中的 CLI 标志进行配置。

ESLint

ESLint 是一个 JavaScript 包工具,用于解析 JavaScript 并识别 ECMAScript/JavaScript 代码中的模式。它使用 AST(抽象语法树)来评估代码中的模式。该工具的所有规则都以插件的形式定义,并可以在运行时动态添加。可以使用以下命令安装 ESLint:

$ npm init @eslint/config

安装完成后,将生成一个 .eslintrc 文件,其中包含一组规则及其相应的条件。ESLint 允许在用户的 .lock 文件中定义所有依赖项,而不使用自己的 .lock 文件。它还具有很高的安全性。

Shelljs

Shelljs 提供了一个可以在任何操作系统上通过 Node.js API 执行 UNIX 命令的环境。Shelljs 是可移植的,并且支持第三方插件。常用的命令包括 echo、exec、chmod、pushd、popd、cd 和 cat 等。可以使用以下命令安装 Shelljs:

$ npm install [-g] shelljs

它已经在 Firefox、JSHint、ESLint 和 Zepto 等多个项目中进行了测试。本地导入 Shelljs 包优于全局导入。它还可以配置为静默、致命、详细等模式。

Omelette

Omelette 为 Node 和 Deno 项目的代码自动完成提供了一个模板。它使用非常简单的 API,并且支持异步 API 和树形 API。以下是一个使用 Omelette 的示例代码片段:

import * as omelette from 'omelette';

const firstArgument = ({ reply }) => {
  reply([ 'beautiful', 'cruel', 'far' ])
}

const planet = ({ reply }) => {
  reply([ 'world', 'mars', 'pluto' ])
}

omelette`hello|hi ${firstArgument} ${planet}`.init()

导入 Omelette 后,必须创建一个 Omelette 对象。然后,可以在 omelette 对象上调用各种用于代码自动完成的函数,例如 setupShellInitFile() 用于设置,cleanupShellInitFile() 用于清理。它还支持使用 Lambda 函数来创建复杂的模板文字 API。

Prettier

Prettier 用于格式化代码。它可以帮助调整制表符空格,控制一行中的最大内容,并确保条件和循环语句的正确缩进。它可以将代码转换为简洁易读的格式。例如:

以下代码片段:

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

使用 Prettier 格式化后,将转换为以下形式:

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

它可以在 CI 环境和集成开发环境(IDE)中运行。

jscpd

jscpd 是一项技术债务管理服务,也是一个 JavaScript 包,可以帮助在各种代码和数字文档中查找重复的代码片段。它使用一种称为 Rabin-Karp 的字符串匹配算法来查找代码重复。

jscpd/core 可以在各种环境中检测代码重复,jspd/tokenizer 用于标记程序源代码。此外,还有许多其他包,如 html-reporter、badge-reporter 和 leveldb-store 等。可以使用以下命令安装 jscpd:

$ npm install -g jscpd

jscpd 被 GitHub Super Linter、Code-Inspector、Mega-Linter 和 Codacy 等项目使用,它们各自将 jscpd 用于不同的目的,例如自然语言处理、行聚合和代码分析等。

Vtop

Vtop 是一个监视器,它可以提供命令行活动的图形化表示。它通过分析正在运行的各种线程和进程,并通过图表、峰值等方式以图形方式展示 CPU 利用率。它是使用 JavaScript、Makefile 和 Shell 开发的。可以使用以下命令安装 Vtop:

$ npm install -g vtop

可以根据需要使用各种主题和颜色代码来使 GUI 更具吸引力。还可以使用各种键盘快捷键,例如 “u” 用于更新,”g” 用于转到列表的顶部进程,”G” 用于移动到列表的末尾,以及 “dd” 用于终止特定组的进程等。

Standardjs

Standardjs 是一个 JavaScript 库,可以自动执行文件配置、格式化代码并快速发现程序员的异常处理问题。可以使用以下命令安装 Standardjs:

$ npm install standard --global

安装完成后,可以使用命令行界面中的“standard”命令在文件或代码片段上运行它。可以通过在 package.json 文件的依赖对象中定义 “standard:”* 来添加 Standardjs 的所有依赖项。

它也可以作为插件安装到各种文本编辑器,如 Visual Studio Code、Sublime Text、Atom、Vim 和 Brackets 等。Node.js、Expressjs、npm、Brave 和 GoDaddy 等公司使用 Standardjs 来满足他们的业务需求。

NodeJsScan

NodeJsScan 是一个用于 Node.js 应用程序的静态安全代码扫描器。它通过交互式用户界面通知应用程序的安全状态。它可以与各种应用程序集成,如用于警报或通知的 Slack、通过配置 NodeJsScan 的 settings.py 文件中的 SMTP 设置实现的电子邮件警报,以及 CI/CD 管道等。它还有助于构建 Docker 镜像。

它会记录错误、信息和警告消息,提供错误的详细描述,例如错误发生的原因、严重性、发生错误的行号、扫描的文件数以及发现的问题等。它还会绘制图形和图表,以提高可读性和分析能力。

Trash

Trash 是一个 JavaScript 库,可以将已删除的文件移动到回收站,而不是永久删除它们。它支持 Mac、Linux 和 Windows 系统。可以使用以下命令安装 Trash:

$ npm install trash

Trash 是一个 API,在调用 trash() 函数时,会将输入和选项作为函数参数。输入可以是字符串或字符串数组,选项可以是一个对象。trash 函数会返回一个 Promise。不同的操作系统使用不同的命令:macOS-trash 在 macOS 中使用,XDG Spec 在 Linux 中使用,而回收站在 Windows 中使用。

Xo

Xo 是一个 JavaScript 和 TypeScript 的包装器,它在底层使用了 ESLint。它通过为代码添加缩进、分号、单引号和逗号等来帮助创建可读性强的代码。Xo 可以使用许多 ESLint 插件,如 unicorn、import、ava 和 n 等。可以使用以下命令安装 xo:

$ npm install xo --save-dev

可以使用 $ xo –fix 命令自动修复问题。可以通过 package.json 文件中的 xo 属性来配置 Xo。它可以作为插件安装到各种编辑器,如 Vim、Visual Studio Code、Atom、Sublime Text 和 Emacs 等。

diff2html

diff2html 代表 “差异解析器和漂亮的 HTML 生成器”。它可以突出显示当前版本的代码与先前版本相比的变化,帮助开发人员轻松识别和理解所做的更改。它使用颜色代码来实现这一目标。

它通过突出显示逐行和并排的变化来实现,同时也会突出显示代码语法更改,并将类似的行组合在一起,以便轻松跟踪代码更改。可以使用以下命令安装 diff2html:

$ npm install diff2html

它还与命令行集成。一些使用 diff2html 的项目包括 Jenkins、Codacy、Ungit、git-explorer 和 code-annotation 等。

Chalk

Chalk 是一个 Node.js 模块,可以帮助格式化和样式化代码。它还可以帮助为文本创建和添加颜色主题。它是一个富有表现力的 API,具有出色的性能。它支持嵌套样式并且没有依赖项。以下是 Chalk 的用法示例:

import chalk from 'chalk';

console.log(chalk.blue('Hello world!'));

chalk.level 定义了每个级别支持的颜色。“0”表示禁用所有颜色,“1”表示支持基本颜色,“2”表示支持 256 色,“3”表示支持真彩色。Chalk 支持的各种用于格式化文本的样式修饰符包括反向、隐藏、可见、删除线、粗体、重置、斜体、下划线、上划线和暗淡等。

Npkill

Npkill 是一个删除旧的和庞大的节点模块文件夹的工具。它有助于快速删除节点模块并清理系统中的空间。它是使用 TypeScript、JavaScript 和 Go 开发的,没有任何依赖关系并且易于使用。可以使用以下命令安装 Npkill:

$ npm i -g npkill

使用 npkill 命令将删除指定路径中的所有节点模块。但删除节点模块时必须小心,因为它是一个不可逆的操作。如果删除任何活动项目正在使用的模块,文件可能会损坏,需要重新安装这些节点模块。

fkill-cli

fkill-cli 是一个开源的交互式命令行工具,用于终止 Linux 进程和端口。它使用 Node.js 开发,简单、免费、安全且跨平台兼容,适用于 Windows、Linux 和 macOS。可以使用以下命令安装 fkill-cli:

$ npm install --global fkill-cli

终止进程需要提供进程名称和 ID。“-f” 可以强制执行操作,而 “-v” 命令可以显示进程参数。fkill API 会将输入和选项作为参数,并返回一个 Promise 对象。一些选项包括 force、silent、ignoreCase、tree 和 forceAfterTimeout。

Localtunnel

Localtunnel 是一个允许从外部环境与计算机的本地环境共享 Web 服务的平台,无需更改系统的 DNS 和防火墙设置。

请求由 Localtunnel 代理,在分配了一个可公开访问的 URL 后,请求将被传递到本地部署的服务器。可以使用以下命令安装 Localtunnel:

$ npm install -g localtunnel

它是安全的并且使用 HTTPS 请求。这些 API 可用于测试 Webhook。可以使用 Localtunnel 在云浏览器中测试 UI。

Inquirer.js

Inquirer.js 是一个用于 Node.js 应用程序的交互式命令行用户界面。它可以简化查找错误、解析输入、验证答案和管理分层提示的过程。它使用原生 ESM 模块来实现其功能。可以使用以下命令安装 Inquirer.js:

$ npm install --save inquirer

常用的方法包括 prompt、registerPrompt 和 createPromptModule 等。prompt() 是一个将问题和答案作为输入并在调用时返回 Promise 的函数。

问题是一个对象,它是与问题相关的值的散列版本,例如类型、消息、默认值、选择和过滤器等。答案键值对包含客户端响应的散列版本。键是问题属性,值可以包含 confirm、input、number 和 rawlist 等。

http-server

http-server 是一个命令行静态 HTTP 服务器。它非常简单,不需要任何配置。它由两个文件组成:index.html 和 404.html。index.html 是请求时渲染的默认文件。找不到文件时会渲染 404.html。可以使用以下命令安装 http-server:

$ npm install --global http-server

它是使用 HTML 和 JavaScript 开发的,并通过 TLS/SSL 证书来保证安全性。它使用 RSA 算法进行密钥加密和解密。出于安全目的,它还允许人们定义密码短语和私钥。

总结

JavaScript 是软件开发中使用最广泛的编程语言。为了使开发人员的工作更加轻松,开发了各种 Node.js 包。

Retire.js、Localtunnel、Xo、Inquirer.js、Shelljs、fpkill、NodeJsScan 和 Prettier 等 Node.js 包可用于格式化代码、确保安全性、突出显示代码更改、删除大型和不需要的节点模块等,有助于开发人员更有效地调试、编写和管理代码。

您还可以阅读有关如何在 Windows 和 macOS 上安装 Node.js 和 NPM 的信息。