在为数众多可用作精简 Node.js 合作开发的辅助工具中,以下 9 种是最差选择。
我前段时间在 StackOverflow上读到了几项进行调查,该进行调查称超过 49% 的合作开发者在其工程项目中采用了 Node.js。这结果对我而言并不不幸。
作为两个疯狂的控制技术采用者,我能的确地说 Node.js 的导入助推了软件合作开发的新时代。现在,它是软件合作开发最畅销的控制技术之一,仅次JavaScript。
Node.js 是什么,为什么如此畅销?
Node.js 是两个虚拟化的开放源码运转自然环境,用作在应用流程以外继续执行 JavaScript 标识符。它也是建立在 Chrome 的 JavaScript 运转时其内的必选运转时自然环境,主要用作构筑加速、可扩充和高工作效率的应用软体流程。
我提过当时我们可能需要几个半小时来协同后端和后端合作开发者,他们分别撰写不同JAVA。当 Node.js 出现后,所有那些都改变了。我坚信,使得合作开发者采用此项控制技术原因在于它的双向工作效率。
采用 Node.js,你能让你的标识符与此同时运转在应用流程和服务端,从而大力推进了整座合作开发操作过程。Node.js 消弭了后端和后端合作开发之间的差别,并使合作开发操作过程更加高工作效率。
Node.js 辅助工具大潮
对于 49% 的合作开发者(主要包括我)而言,Node.js 处于在后端和后端合作开发的圆顶顶部。有大量的 Node.js 示例协助我和我的项目组在止年份内交货繁杂的工程项目。幸运地的是,Node.js 的日渐普及化也产生了一连串开放源码工程项目和辅助工具,以协助合作开发者采用该自然环境。
近年,对采用 Node.js 构筑的工程项目的需求突然增加。有时候,我发现管理工作那些工程项目,并与此同时保持交货高工作效率工程项目的脚步十分具有诱惑力。因此,我决定采用为 Node.js 合作开发者提供的很多开放源码辅助工具中一些最高工作效率的,使这类各方面的合作开发智能化。
根据我在 Node.js 各方面的多样实战经验,我采用了很多的辅助工具,那些辅助工具对整座合作开发操作过程都十分有协助:从精简代码操作过程,到监控再到内容管理工作。
为了协助我的 Node.js 合作开发排钱,我重新整理了这个条目,其中主要包括我最喜欢的 9 个精简 Node.js 合作开发的开放源码辅助工具。
Webpack
Webpack是两个容易采用的 JavaScript 模块捆绑流程module bundler,用作精简后端合作开发。它会检测具有依赖的模块,并将其转换为描述模块的静态素材asset。
能通过软件包管理工作器 npm 或 Yarn 安装该辅助工具。
利用 npm 命令安装如下:
npm install –save-dev webpack利用 Yarn 命令安装如下:
yarn add webpack –devWebpack 能创建在运转时异步加载的单个捆绑包或多个素材链。不必单独加载。采用 Webpack 辅助工具能加速高工作效率地打包那些素材并提供服务,从而改善用户整体体验,并减少合作开发者在管理工作加载时间各方面的困难。
Strapi
Strapi是两个开放源码的无界面headless内容管理工作系统(CMS)。无界面 CMS 是一种基础软件,能管理工作内容而无需预先构筑好的后端。它是两个采用 RESTful API 函数的只有后端的系统。
能通过软件包管理工作器 Yarn 或 npx 安装 Strapi。
利用 Yarn 命令安装如下:
yarn create strapi-app my-project –quickstart利用 npx 命令安装如下:
npx create-strapi-app my-project –quickstart它提供了很多功能,主要包括文件上传、内置的电子邮件系统、JSON Web Token(JWT)验证和自动生成文档。我发现它十分方便,因为它精简了整座 CMS,并为我提供了编辑、创建或删除所有类型内容的完全自主权。
另外,通过 Strapi 构筑的内容结构十分灵活,因为你能创建和重用内容组和可定制的 API。
Broccoli
Broccoli是两个功能强大的构筑辅助工具,运转在ES6模块上。构筑辅助工具是一种软件,可让你将应用流程或网站中的所有各种素材(例如图像、CSS、JavaScript 等)组合成一种可分发的格式。Broccoli 将自己称为 “雄心勃勃的应用流程的素材管道”。
采用 Broccoli 你需要两个工程项目目录。有了工程项目目录后,能采用以下命令通过 npm 安装 Broccoli:
npm install –save-dev broccoli npm install –global broccoli-cli你也能采用 Yarn 进行安装。
当前版本的 Node.js 就是采用该辅助工具的最差版本,因为它提供了长期支持。它能协助你避免进行更新和重新安装操作过程中的麻烦。安装操作过程完成后,能在 Brocfile.js文件中包含构筑规范。
在 Broccoli 中,抽象单位是“树”,该树将文件和子目录存储在特定子目录中。因此,在构筑之前,你必须有两个具体的想法,你希望你的构筑是什么样子的。
最好的是,Broccoli 带有用作合作开发的内置服务器,可让你将素材托管在本地 HTTP 服务器上。Broccoli 十分适合流线型重建,因为其简洁的架构和灵活的生态系统可提高重建和编译速度。Broccoli 可让你井井有条,以节省时间并在合作开发操作过程中最大限度地提高生产力。
Danger
Danger是两个十分方便的开放源码辅助工具,用作精简你的拉取请求pull request(PR)检查。正如 Danger 库描述所说,该辅助工具可通过管理工作 PR 检查来协助 “正规化” 你的标识符审查系统。Danger 能与你的 CI 集成在一起,协助你大力推进审核操作过程。
将 Danger 与你的工程项目集成是两个简单的逐步操作过程:你只需要主要包括 Danger 模块,并为每个工程项目创建两个 Danger 文件。然而,创建两个 Danger 帐户(通过 GitHub 或 Bitbucket 很容易做到),并且为开放源码软件工程项目设置访问令牌更加方便。
能通过 NPM 或 Yarn 安装 Danger。要采用 Yarn,请添加 danger -D到package.JSON中。
将 Danger 添加到 CI 后,你能:
高亮显示重要的创建工件通过强制链接到 Trello 和 Jira 之类的辅助工具来管理工作 sprint强制生成更新日志采用描述性标签以及更多例如,你能设计两个定义项目组文化并为标识符审查和 PR 检查设定特定规则的系统。根据 Danger 提供的元数据及其广泛的插件生态系统,能解决常见的议题issue。
Snyk
网络安全是合作开发者的主要关注点。Snyk是修复开放源码组件中漏洞的最著名辅助工具之一。它最初是两个用作修复 Node.js 工程项目漏洞的工程项目,并且已经演变为能检测并修复 Ruby、Java、Python 和 Scala 应用流程中的漏洞。Snyk 主要分四个阶段运转:
查找漏洞依赖性修复特定漏洞通过 PR 检查预防安全风险持续监控应用流程Snyk 能集成在工程项目的任何阶段,主要包括代码、CI/CD 和报告。我发现这对于测试 Node.js 工程项目十分有协助,能测试或构筑 npm 软件包时检查是否存在安全风险。你还能在 GitHub 中为你的应用程序运转 PR 检查,以使你的工程项目更安全。Synx 还提供了一连串集成,可用作监控依赖关系并解决特定问题。
要在本地计算机上运转 Snyk,能通过 NPM 安装它:
npm install -g snykMigrat
Migrat是一款采用纯文本的数据迁移辅助工具,十分易于采用。 它可在各种软件堆栈和进程中工作,从而使其更加实用。你能采用简单的标识符行安装 Migrat:
$ npminstall -g migratMigrat 并不需要特别的数据库引擎。它支持多节点自然环境,因为迁移能在两个全局节点上运转,也能在每个服务器上运转一次。Migrat 之所以方便,原因在于它便于向每个迁移传递上下文。
你能定义每个迁移的用途(例如,数据库集、连接、日志接口等)。此外,为了避免随意迁移,即多个服务器在全局范围内进行迁移,Migrat 能在进程运转时进行全局锁定,从而使其只能在全局范围内运转一次。它还附带了一连串用作 SQL 数据库、Slack、HipChat 和 Datadog 仪表盘的插件。你能将实时迁移状况发送到那些平台中的任何两个。
Clinic.js
Clinic.js是两个用作 Node.js 工程项目的开放源码监视辅助工具。它结合了三种不同的辅助工具 Doctor、Bubbleprof 和 Flame,协助你监控、检测和解决 Node.js 的性能问题。
你能通过运转以下命令从 npm 安装 Clinic.js:
$ npm install clinic你能根据要监视工程项目的某个各方面以及要生成的报告,选择要采用的 Clinic.js 包含的三个辅助工具中的两个:
Doctor 通过注入探针来提供详细的指标,并就工程项目的总体运转状况提供建议。Bubbleprof 十分适合分析,并采用 async_hooks生成指标。Flame 十分适合发现标识符中的热路径和瓶颈。PM2
监视是后端合作开发操作过程中最重要的各方面之一。PM2是一款 Node.js 的进程管理工作辅助工具,可协助合作开发者监视工程项目的多个各方面,例如日志、延迟和速度。该辅助工具与 Linux、MacOS 和 Windows 兼容,并支持从 Node.js 8.X 开始的所有 Node.js 版本。
你能采用以下命令通过 npm 安装 PM2:
$ npm install pm2 –g如果尚未安装 Node.js,则能采用以下命令安装:
wget-qO- https://getpm2.com/install.sh | bash安装完成后,采用以下命令启动应用流程:
$ pm2 start app.js关于 PM2 最好的地方是能在集群模式下运转应用流程。能与此同时为多个 CPU 内核生成两个进程。这样能轻松增强应用流程性能并最大程度地提高可靠性。PM2 也十分适合更新工作,因为你能采用 “热重载” 选项更新应用流程并以零停机时间重新加载应用流程。总体而言,它是为 Node.js 应用流程精简进程管理工作的好辅助工具。
Electrode
Electrode是 Walmart Labs 的两个开放源码应用流程平台。该平台可协助你以结构化方式构筑大规模通用的 React/Node.js 应用流程。
Electrode 应用流程生成器使你能构筑专注于标识符的灵活内核,提供一些出色的模块以向应用流程添加繁杂功能,并附带了广泛的辅助工具来优化应用流程的 Node.js 包。
能采用 npm 安装 Electrode。安装完成后,你能采用 Ignite 启动应用流程,并深入研究 Electrode 应用流程生成器。
你能采用 NPM 安装 Electrode:
npminstall -g electrode-ignite xclap-cli你最喜欢哪两个?
那些只是不断增长的开放源码辅助工具条目中的一小部分,在采用 Node.js 时,那些辅助工具能在不同阶段派上用场。你最喜欢采用哪些开放源码 Node.js 辅助工具?请在评论中分享你的建议。
via: https://opensource.com/article/20/1/open-source-tools-nodejs
作者:Hiren Dhadhuk选题:lujun9972译者:stevenzdg988校对:wxy
本文由 LCTT原创编译,Linux中国荣誉推出