node.js是开源的吗
我最近阅读了一份关于StackOverflow的调查,其中说超过49%的开发人员在其项目中使用Node.js。 这不足为奇。
作为技术的狂热用户,我可以肯定地说Node.js的引入引领了软件开发的新时代。 现在,它紧随JavaScript之后成为软件开发的首选技术之一。
什么是Node.js,为什么它如此受欢迎?
Node.js是一个跨平台的开源运行时环境,用于在浏览器外部执行JavaScript代码。 它也是基于ChromeJavaScript运行时构建的首选运行时环境,主要用于构建快速,可扩展和高效的网络应用程序。
我记得当我们过去坐了几个小时来协调前端和后端开发人员时,他们为每一侧编写不同的脚本。 一旦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模块捆绑程序,用于简化前端开发。 它检测具有依赖性的模块,并将其转换为代表模块的静态资产。
您可以通过npm或Yarn软件包管理器安装该工具。
使用npm:
npm install --save-dev webpack
使用纱线:
yarn add webpack --dev
Webpack创建可以在运行时异步加载的资产的单个捆绑包或多个链。 每个资产不必单独加载。 使用Webpack工具可以快速高效地打包和提供资产,从而改善整体用户体验,并减少开发人员在管理加载时间方面的麻烦。
Strapi
Strapi是一个开源的无内容内容管理系统(CMS)。 无头CMS基本上是一种软件,可让您无需预先构建的前端即可管理内容。 这是一个仅使用RESTful API起作用的后端系统。
您可以通过Yarn或npx软件包安装Strapi。
使用纱线:
yarn create strapi-app my-project --quickstart
使用npx:
npx create-strapi-app my-project --quickstart
Strapi的目标是在任何设备上以结构化的方式获取和交付您的内容。 CMS使您可以轻松管理应用程序的内容,并确保它们是动态的并且可以在任何设备上访问。
它提供了许多功能,包括文件上传,内置的电子邮件系统,JSON Web令牌(JWT)身份验证和自动生成的文档。 我发现它非常方便,因为它简化了整个CMS,并为我提供了编辑,创建或删除所有类型内容的完全自主权。
此外,通过Strapi构建的内容结构非常灵活,因为您可以创建和重用内容组和可自定义的API。
西兰花
Broccoli是一个功能强大的构建工具,可在ES6模块上运行。 生成工具是一种软件,可让您将应用程序或网站中的所有不同资产(例如图像,CSS,JavaScript等)组合成一种可分配的格式。 西兰花将自己打造成“雄心勃勃的应用程序的资产管道”。
您需要一个项目目录才能使用Broccoli。 放置好项目目录后,可以使用以下命令通过npm安装Broccoli:
npm install --save-dev broccoli
npm install --global broccoli-cli
您也可以使用Yarn进行安装。
当前版本的Node.js将是该工具的最佳版本,因为它提供了长期的支持。 这可以帮助您避免进行过程中更新和重新安装的麻烦。 安装过程完成后,可以将构建规范包含在Brocfile.js中。
在Broccoli中,抽象单位是一棵树,该树将文件和子目录存储在特定子目录中。 因此,在构建之前,您必须对要构建的外观有一个特定的了解。
Broccoli的最好之处在于,它带有用于开发的内置服务器,可让您将资产托管在本地HTTP服务器上。 西兰花非常适合简化重建,因为其简洁的架构和灵活的生态系统可提高重建和编译速度。 西兰花可让您组织起来,以节省时间并在开发过程中最大限度地提高生产率。
危险
Danger是一个非常方便的开源工具,可简化您的拉取请求(PR)检查。 正如Danger的库描述所说,该工具可通过管理PR检查来帮助您“形式化”您的代码检查系统。 Danger与您的CI集成在一起,可帮助您加快审核过程。
将Danger与您的项目集成是一个简单的分步过程,您只需要包括Danger模块并为每个项目创建一个Danger文件。 但是,创建一个Danger帐户(通过GitHub或Bitbucket轻松完成),然后为您的开源软件项目设置访问令牌,更加方便。
可以通过NPM或Yarn安装危险。 要使用Yarn,请添加危险-D将其添加到package.JSON中。
将“危险”添加到CI后,您可以:
- 突出显示重要的构建工件
- 通过强制链接到Trello和Jira等工具来管理sprint
- 实施变更日志
- 使用描述性标签
- 以及更多
例如,您可以设计一个定义团队文化并为代码审查和PR检查设定特定规则的系统。 常见问题可以根据Danger提供的元数据及其广泛的插件生态系统来解决。
斯尼克
网络安全是开发人员的主要关切。 Snyk是修复开源组件中漏洞的最著名工具之一。 它最初是一个用于修复Node.js项目中的漏洞的项目,现已演变为检测并修复Ruby,Java,Python和Scala应用程序中的漏洞。 Snyk主要分为四个阶段:
- 查找漏洞依赖性
- 修复特定漏洞
- 通过PR检查预防安全风险
- 持续监控应用
Snyk可以在任何阶段与项目集成,包括编码,CI / CD和报告。 我发现这对于测试Node.js项目以测试npm软件包的安全风险或在构建时非常有用。 您还可以在GitHub中为您的应用程序运行PR检查,以使您的项目更安全。 Synx还提供了一系列集成,可用于监视依赖关系并解决特定问题。
要在本地计算机上运行Snyk,可以通过NPM安装它:
npm install -g snyk
米格拉特
Migrat是使用纯文本的极其易于使用的数据迁移工具。 它可在各种堆栈和过程中工作,从而使其更加方便。 您可以使用简单的代码行安装Migrat:
$ npm install -g 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非常适合发现代码中的热路径和瓶颈。
下午2
监视是任何后端开发过程中最重要的方面之一。 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是沃尔玛实验室的开源应用程序平台。 该平台可帮助您以结构化方式构建大规模通用的React / Node.js应用程序。
Electrode应用程序生成器使您可以构建专注于代码的灵活内核,提供一些出色的模块以向应用程序添加复杂功能,并提供了广泛的工具来优化应用程序的Node.js包。
可以使用npm安装电极。 安装完成后,您可以使用Ignite启动应用程序,并使用Electrode应用程序生成器直接进入。
您可以使用NPM安装Electrode:
npm install -g electrode-ignite xclap-cli
你最喜欢哪一个?
这些只是不断增长的开源工具列表中的一小部分,在使用Node.js的不同阶段可以派上用场。 您最喜欢使用哪些开源Node.js工具? 请在评论中分享您的建议。
翻译自: https://opensource.com/article/20/1/open-source-tools-nodejs
node.js是开源的吗