当前位置: 首页 > 后端技术 > Node.js

【节点英雄】1.开始使用Node.js

时间:2023-04-03 17:23:14 Node.js

risingstack.com/node-hero-tutorial-getting-started-with-node-js/这是Node.js教程系列NodeHero中的第一篇文章。在这些章节中,学习如何开始使用Node.js以及如何使用它来交付软件产品。本教程从基础开始-不需要以前的Node.js知识。本教程的目标是让您开始使用Node.js并确保您了解如何使用它编写应用程序,因此如果有任何不清楚的地方,请立即询问我们。目录开始使用Node.js使用NPM了解异步编程你的第一个Node.js服务器Node.js数据库教程Node.js请求模块教程Node.js项目结构教程Node.js身份验证-使用Passport.jsNode.js单元测试教程调试Node.js应用程序Node.js安全教程如何部署Node.js应用程序监控Node.js应用程序在第一个教程中,您将了解Node.js是什么、如何在您的计算机上安装它以及如何开始使用它-这样我们可以在下一章进行实际开发。让我们开始吧!Node.js概述Node.js官方徽标Node.js是一个构建在Chrome的JavaScript引擎V8之上的JavaScript运行时。Node.js使用事件驱动、非阻塞I/O模型,使其轻量且高效。那就是:Node.js提供了用JavaScript编写具有令人难以置信的性能的服务器的可能性。正如官方声明所说:Node.js是一个使用与GoogleChrome相同的JavaScript引擎V8的运行时。但这还不足以支持Node.js的成功——Node.js还使用了libuv,这是一个专注于异步I/O的多平台支持库。官方libuv徽标从开发人员的角度来看,NodeJS是单线程的-但在幕后,它使用libuv来处理线程、文件系统事件、实现事件循环、启用具有线程池功能的Node.js等等。大多数时候,我们不会直接与它交互。安装Node.js要获取最新的Node.js可执行文件,您可以访问Node.js官网:https://nodejs.org/en/download/。这样,就很容易上手——但如果你想在未来添加更多的Node.js版本,最好从Node的版本管理器nvm开始。安装NVM后,有一个非常简单的CLIAPI可以与Node.js交互。安装Node.js版本nvminstall4.4然后,如果想看实验版本:nvminstall5验证Node.js是否正常运行,执行:node--version如果一切顺利,会返回当前激活的节点.js可执行文件的版本号。使用Node.js版本如果你正在开发一个支持Node.jsv4的项目,你可以使用以下命令开始使用它:nvmuse4然后你可以使用以下命令切换到Node.jsv5:nvmuse5好的,现在我们知道了如何安装和切换Node.js版本——但这有什么意义呢?自Node.js基金会成立以来,Node.js就有了发布时间表。这与Linux基金会的其他项目非常相似。这意味着有两个发布版本:稳定版和实验版。在Node.js中,具有长期支持(LTS)的稳定版本以偶数(4、6、8...)开头,而实验版本以奇数(5、7...)开头。我们建议在生产和实验版本中使用LTS版本来尝试新事物。如果您的操作系统是Windows,请使用nvm-windows。HelloWorld要开始使用Node.js,请先在终端中尝试一下!只需键入node即可启动Node.js:$node>好的,让我们尝试打印一些东西:$node>console.log('hellofromNode.js')一旦你按下回车键,你将得到这样的消息:>console。log('hellofromNode.js')hellofromNode.jsundefined用这个接口玩Node.js-通常在这里尝试小代码片段,因为我不想将它们放入文件中。*是时候创建我们的HelloNode.js应用程序了!首先创建一个index.js文件。打开您的IDE(Atom、Sublime、Code都可以),创建一个新文件,并将其另存为index.js。完成后,将以下代码片段复制到文件中://index.jsconsole.log('hellofromNode.js')要运行该文件,只需再次打开终端,转到存储index.js的目录文件,然后执行nodeindex.js命令。您会看到它产生与以前相同的输出-直接在终端上打印字符串。模块化你的应用程序现在你有了一个index.js文件,是时候升级你的游戏了!接下来我们创建一个更复杂的应用程序,将源代码拆分为多个JavaScript文件以提高可读性和可维护性。打开你的IDE(Atom、Sublime、Code都可以),创建如下目录结构(空文件),但暂时忽略package.json,我们将在下一步自动生成它:├──app|├──calc.js|└──index.js├──index.js└──package.json每个Node.js项目都从创建一个package.json文件开始——将其视为应用程序及其依赖项的JSON表示。它包含应用程序的名称、作者以及运行该应用程序所需的任何依赖项。我们计划在使用NPM一章的后面介绍依赖关系。您可以在终端中使用npminit命令以交互方式生成package.json文件。输入回车后,系统会要求您输入几项内容,例如应用程序的名称、版本、描述等。别担心,只需按回车键,直到获得JSON片段并询问是否可以?最后一次回车,package.json会自动生成并放在应用程序文件夹中。如果您在IDE中打开此文件,您将看到与以下代码段非常相似的代码:{"name":"@risingstack/node-hero","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo\"Error:notestspecified\"&&exit1","start":"nodeindex.js"},"author":"","license":"ISC"}将启动脚本添加到package.json是一个很好的做法-一旦您像上面的示例那样执行此操作,就可以使用npmstart启动应用程序。如果您将应用程序部署到PaaS提供商,这会很方便——他们会识别它并使用它来启动您的应用程序。现在回到我们创建的第一个文件index.js。我建议保持这个文件非常薄-只请求应用程序本身(从您之前创建的/app子目录中的index.js文件)。将以下脚本复制到index.js文件中并保存://index.jsrequire('./app/index')现在是开始创建实际应用程序的时候了。打开/app文件夹中的index.js文件并创建一个非常简单的示例:添加数字数组。在这种情况下,index.js将只包含我们要添加的数字,执行计算的逻辑需要放在另一个模块中。将下面的脚本粘贴到/app目录中的index.js中。//app/index.jsconstcalc=require('./calc')constnumbersToAdd=[3,4,10,2]constresult=calc.sum(numbersToAdd)控制台。log(`Theresultis:${result}`)现在将实际业务逻辑粘贴到同一文件夹中的calc.js文件中。//app/calc.jsfunctionsum(arr){returnarr.reduce(function(a,b){returna+b},0)}module.exports.sum=sum为了检查你是否成功,保存这些文件,打开终端,输入npmstart或nodeindex.js。如果一切都做对了,你会得到答案:19.如果出现问题,仔细查看控制台日志,根据日志找到问题所在。接下来,在下一章使用NPM中,我们将了解如何使用JavaScript包管理器NPM。