Node.js入门指南

Node.js已经证明了自己在web开发中是一个强大的工具,由于其效率、可靠性和可伸缩性而受到开发人员的欢迎。在深入研究任何事情之前有一个基本的了解,在一个地方知道所有的事情是一种很好的感觉。如果您想深入了解Node.js,那么您必须来到正确的地方。阅读本文后,用户可以开始用Node.js编写代码脚本。

这篇文章将涵盖:

  • 什么是Node.js?
  • Node.js是如何工作的?
  • 如何在Windows上安装Node.js ?
  • 如何在Mac上安装Node.js ?
  • 如何在Linux上安装Node.js ?
  • 如何编写第一个Node.js程序?(Hello World)
  • 如何导入节点核心模块?
  • 如何安装NPM包?
  • 如何开始使用Express JS?
  • 如何在Express中渲染静态文件?
  • 如何在Express中渲染动态文件?
  • 结论

什么是Node.js?

谷歌搜索引擎上最常搜索的问题是什么是Node.js?最常见的问题是:Node.js是一种编程语言吗?它是一个框架吗?是图书馆吗?为了简化,Node.js可以定义为一个由JS库支持的运行时环境。

一个众所周知的、开源的、跨平台的Javascript运行时环境是Node.js。由于它的适应性,它可以用于任何项目或应用。它的与众不同之处在于使用了V8引擎,与谷歌Chrome的引擎相同。这使得Node.js成为在服务器端编写脚本和在开发环境之外执行代码脚本的最佳选择。

Node.js与其他服务器端编程语言有很大的不同。值得注意的是,它不是后端服务器或web服务器。单独使用时,它不能做任何事情,只有一组模块可以帮助创建一个可扩展的项目。它在单个服务器上运行,不会为每个请求生成额外的线程。此外,非阻塞范式用于编写大多数NodeJS库,因此阻塞行为是例外而不是规则。异步I/O原语是Node.js标准库的一个特性,它可以防止JavaScript代码阻塞。

当Node.js执行I/O操作时,比如在网络上执行crud操作,它不会阻塞线程并浪费CPU周期等待响应;相反,它将在接收到响应后恢复操作。

Node.js简单示例

一个理解Node.js概念的简单例子是创建一个web服务器并编写一些文本。因为这是对Node.js的介绍,所以让我们将介绍行添加到web端口:

Const HTTP = require(' HTTP ');

serverPort = 3000;

Const server = http。createServer((req, res) => {

res.statusCode = 200;

res.setHeader(“内容类型”、“文本/普通”);

res.end(' Node.js初学者入门指南!n');

});

服务器。listen(serverPort, () => {

console.log('服务器运行在http://localhost:${serverPort}/ ');

});

在此代码中:

  • " const http = require(' http ') "导入http模块,该模块帮助创建http服务器并处理与之相关的功能。
  • " const serverPort = 3000 "定义了服务器将操作的端口。
  • " const server = http。createServer((req, res) =>{}) "使用http模块的create server方法来创建一个带有回调函数的服务器,该回调函数接受两个参数,一个是请求,另一个是将为请求生成的响应。
  • 在回调函数中,HTTPS状态码设置为200,响应内容类型设置为纯文本。此外,web服务器会显示一条标题为“Node.js入门指南”的消息。
  • “服务器。调用listen(serverPort,() =>{}) "来启动服务器并侦听服务器上的所有传入请求。回调函数在服务器启动后被调用,并在终端上显示一条消息,显示服务器启动时的端口。

输出

使用下面这行来执行:

节点App.js

其中App.js是应用程序的名称。

终端输出为:

这表明服务器已经启动并正在监听传入的请求。要检查服务器上的响应,请使用以下链接“http://localhost:3000/”。

服务器端的输出将显示为:

Node.js是如何工作的?

Node.js是一个帮助服务器同时处理多个请求的平台。尽管它只使用一个线程来处理请求,但它通过使用线程有效地管理输入和输出操作。线程是一组同时执行任务的指令。Node.js使用事件循环来控制任务,直到一个任务完成后才开始下一个任务。

Node.js事件循环是一个连续的半无限循环。这个循环管理Node.js中的同步和非同步事件。一旦启动Node.js项目,就会触发执行,从而无缝地将困难的任务转移到系统中。这允许主线程上的其他任务顺利运行。

为了理解和掌握Node.js中事件循环的详细概念,我们专门写了一篇关于这个主题的文章。

node . js的优点

Node.js的一些主要优点是:

  • 可扩展性:双向简化应用程序的增长:水平和垂直。
  • 实时Web应用:最适合需要快速同步和防止HTTP负载过多的任务。
  • 速度:快速完成任务,如将数据输入或取出数据库,连接网络或处理文件。
  • 易于学习:Node.js对于初学者来说很容易学习,因为它使用Javascript。
  • 缓存的好处:只存储一个部分,所以没有必要再次运行代码,缓存是一个快速的内存,节省了额外的加载时间。
  • 数据流:将HTTP请求和响应作为不同的事件处理,从而提高性能。
  • 托管:很容易放在PaaS和Heroku这样的网站上。
  • 企业支持:Netflix、SpaceX、沃尔玛等大企业使用。

如何在Windows上安装Node.js ?

因为我们开始开发Node.js应用程序,如果我们有一个Windows环境,Node.js环境必须设置。按照下面的分步指导,在Windows操作系统中设置Node.js环境。

步骤1:下载Node.js安装包

进入Node.js官方网站,确保你下载的是最新版本的Node.js。另外,检查是否安装了npm包管理器,因为它在扩展Node.js应用程序中起着至关重要的作用。

只需点击Windows安装程序,下载将开始。下载的版本为64位,建议使用LTS(长期支持)版本。运行安装包安装Node.js。

第二步:在你的电脑上安装Node.js和NPM模块

下面的屏幕将出现,所以点击Next按钮:

单击Next后,将出现一个新窗口,用户将被要求输入下载Node.js msi库的路径。

现在在下面的窗口中选择所需的路径并点击next按钮:

点击“下一步”按钮后,您将看到一个自定义设置窗口,要求您选择要安装的软件包。从这个窗口中选择npm包管理器,默认情况下选择Node.js运行时。在npm包管理器中,Node.js和npm包都会被安装。

最后,单击Install按钮开始旅程。

步骤3:验证已安装的版本

了解安装了哪个版本是至关重要的,所以要检查它,请转到Windows的搜索栏并输入命令提示符:

在命令提示符窗口打开后,输入两个命令进行验证。

Node.js版本

可以在命令提示符中使用以下命令检查Node.js版本:

节点- v

安装的版本会显示出来

NPM版本

要检查npm的版本,使用以下命令:

npm - v

npm的版本会出现在终端中。

现在,您可以通过设置Node.js环境开始开发应用程序了。

并不是所有的用户都在使用Windows,所以希望能够满足每个人的需求。下面是在Mac上安装Node.js的过程。

如何在Mac上安装Node.js ?

对于使用Mac的用户来说,Windows的安装过程与Mac完全相同。到Node.js官方网站下载Mac版本的包。

步骤1:下载Mac版软件包管理器

访问Node官方网站,下载NodeJS的MacOSInstaller:

https://nodejs.org/en/download/current

点击上面屏幕中的指定按钮开始下载。

用户可以指定要安装的位置。

步骤2:安装Node.js .pkg文件

运行安装文件并按照安装指南进行安装:

点击“Install”按钮,开始安装Node.js。

NodeJS安装完成后,会显示如下摘要:

点击“关闭”按钮完成安装。

步骤3:验证Node.js安装和版本

为了验证Node.js是否已经安装,并检查其版本,使用以下命令:

节点——版本

步骤4:全局升级NPM

执行下面的命令为所有使用" -global "标志的系统用户升级NPM:

安装NPM—global

步骤5:将节点路径设置为$ Path变量

执行如下命令设置NodeJS的PATH变量:

导出路径= / usr /地方/ git / bin: / usr /地方/ bin:美元的道路

注意:在上面的命令中,“/usr/local/bin”是默认安装NodeJS的位置。

步骤6:更新“.bash_profile”中的PATH详细信息

将路径详细信息添加到“~/”中。Bash _profile "使用下面给出的命令:

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile

步骤7:更新~/.bashrc

要使它可供所有用户使用,请执行以下命令:

源~ / . bashrc

这就是关于安装NodeJS和在MacOS中为NodeJS设置PATH变量的内容。

如何在Linux上安装Node.js ?

要在任何基于debian的Linux操作系统上安装Node.js,请遵循以下步骤:

步骤1:打开终端

首先,使用“CTRL+ALT+T”快捷键启动终端:

步骤2:更新和升级系统

执行以下命令来更新和升级系统的存储库:

Sudo apt update && Sudo apt upgrade -y

步骤3:使用apt包管理器安装Node

更新系统的存储库后,使用以下命令从官方APT包管理器中安装Node.js:

安装nodejs

步骤4:检查节点安装正确性

安装完成后,使用下面的命令检查Node.js的版本来验证安装是否成功:

节点- v

步骤5:安装NPM

将NPM与NodeJS一起安装是一个很好的做法,因为大多数时候都需要它。NPM也可以在官方APT存储库中使用,可以使用下面的命令安装:

安装NPM

步骤6:验证NPM安装

检查NPM版本,并使用以下命令验证NPM的安装:

npm - v

这就是在基于debian的Linux操作系统上安装Node和NPM的方法。

如何编写第一个Node.js程序?(Hello World)

所有的一切都已经准备就绪,我们将开始用Node.js开发应用程序。让我们创建第一个非常常见的程序。每当有人开始学习一门新的语言或框架时,第一个程序通常是打印“Hello World”。以一种不同的方式向每个人打招呼是一种很好的感觉,告诉他们我们新旅程的开始。下面是开始的代码:

/ / App.js

console.log(“Hello World !”);

要执行此代码脚本,请使用以下命令:

节点App.js

输出

语句Hello World将被记录到终端:

如何导入节点核心模块?

用户必须使用" require() "函数来使用所需的模块在他们的代码脚本中工作。例如,如果要使用" fs "(文件系统)模块,则导入代码行将为:

Const fs = require('fs')

这将导入该模块的所有功能并将其存储在fs变量中,这是一个常量变量,意味着它的内容不能在运行时更改。然后,通过使用“fs”变量,用户可以实现所需的功能。

现在让我们创建一个简单的代码示例,其中导入一个模块,并在代码脚本中使用其功能。

示例:使用HTTP模块

Const HTTP = require(' HTTP ');

//简单HTTP服务器

const httpServer = http。createServer((req, res) => {

res.writeHead(200, {'Content-Type': 'text/html'});

res.write (");

res.write (");

res.write (");

res.write (");

res.write (");

res.write(“Hello World !”);

res.write (");

res.write (");

res.write ('

你好,世界!”);

res.write (");

res.write (");

res.end ();

});

//监听端口3000

httpServer。Listen (3000, () => {

console.log('服务器监听端口3000');

});

在此代码中:

  • " const HTTP = require(' HTTP ') "导入HTTP模块的内容,并将其存储在一个常量变量" HTTP "中。
  • const httpServer = http。createServer((req, res) => "创建一个简单的HTTP服务器,并添加文本Hello World以及一些基本的HTML。createServer方法使用两个参数创建服务器,一个是服务器上的请求,第二个是为该请求生成的响应。
  • “httpServer。Listen(3000,() =>”指定本地主机上的端口3000,并向终端记录一条消息,表明服务器处于活动状态,正在侦听端口3000。

要运行Node App,使用Node命令执行JS文件,如下所示:

节点App.js

其中App.js为文件名。

输出

运行这段代码后,终端中的消息将是:

现在我们必须验证服务器端的输出,并检查那里是否打印了“Hello World”消息:

消息已经在服务器上成功打印,并且通过使用一些基本的HTML调整了字体。

Node.js:核心模块

Node.js的一些模块是:

  • http:它允许在Node.js中创建http服务器
  • Assert: Assert函数的集合主要用于测试
  • Fs:允许处理文件操作
  • Path:处理文件路径的一组方法
  • process:提供当前Node.js进程的信息和控制
  • Os:提供操作系统信息
  • querystring:解析和格式化URL查询字符串的工具
  • url:该模块提供url解析和解析工具

如何安装NPM包?

NPM (Node Package Manager)帮助管理和使用Node.js项目中的第三方库或工具。按照下面的步骤安装NPM包。

步骤1:安装所需的软件包

让我们安装express模块,它在用Node.js开发web应用程序时非常常见。要安装express,使用命令:

NPM install express

该命令行将在项目文件夹中安装express模块。

步骤2:将模块保存到Package.json中

NPM会自动更新包。带有新依赖项的Json文件。如果您想将其显式地保存为项目依赖项的开发,请使用-save -dev或-save标志。

npm install express——Save -dev #保存为开发依赖项

npm install express——save #保存为生产依赖

为什么NPM包很重要?

NPM包在Node.js开发环境中非常重要。以下是可能的原因:

  • 代码可重用性:NPM包保留了可以再次使用的代码的记录。它们通过提供优化的现成方法节省了开发人员的时间。
  • 依赖管理:NPM使处理项目需求变得更容易。项目需求列表在包中。Json文件,使其更容易使用和共享项目需求。
  • 社区贡献:NPM帮助建立了一大群开发人员,他们分享自己的工作成果,供其他人在许多自由软件包中使用。这种共同的贡献加快了应用程序开发周期。
  • 版本控制:NPM允许你写下项目的包版本。这确保了顺利工作和处理所需的更改。
  • 效率和一致性:使用高效的包可以提高项目效率,并允许维护整个开发团队的代码一致性。

这是它。您不仅学习了如何安装所需的包,而且还了解了为什么在Node.js开发环境中需要这些包。

如何开始使用Express JS?

为了制作高效的web应用程序,使用Express.js框架。“express”模块非常适合用Node.js构建web应用程序。下面是如何开始使用这个包的过程。

步骤1:安装Express

要安装Express,请在终端使用以下命令:

NPM install express

快速模块将被安装,如果它已经安装,那么这个命令将更新模块

步骤2:在应用程序中测试express模块

上述步骤将在package文件夹中安装express,用户可以通过使用require模块在代码脚本中导入express来使用

Const express = require("express")

让我们测试一个使用express模块功能的简单代码脚本:

Const express = require('express');

Const app = express();

App.get ('/', (req, res) => {

res.send(“你好表达!”);

});

Const port = 3000;

App.listen (port, () => {

console.log('服务器监听端口${port} ');

});

在上述代码中:

  • " const express = require(' express ') "导入express模块并将其存储在常量变量" express "中,通过该变量我们可以使用与本库相关的函数。
  • " const app = express() "用于定义一个express应用。
  • " app.get(' / ', (req, res) => "定义了快递应用向快递应用发送响应" Hello express "的路由。
  • 端口3000在本地主机上名为“port”的常量变量中指定。
  • " app.listen(port,() => "在端口3000上创建一个监听器,并在终端上记录一条服务器正在监听指定端口的消息。

输出

要运行此应用程序,请使用以下命令:

节点App.js

终端中的输出将显示为

因此,服务器处于活动状态,并在本地主机的端口3000上侦听。在浏览器中访问该链接将显示输出为

以上就是关于如何安装它、创建应用程序和启动服务器端口的express模块。

如何在Express中渲染静态文件?

在Express中,Express .static()函数用于呈现静态文件,如HTML、CSS、图像等。下面是在Express中呈现静态文件的过程。

步骤1:创建一个项目

在启动之前,确保express已安装,如果没有安装,则可以运行以下命令:

NPM install express——save

该命令将在node_modules文件夹中本地安装express模块,并在包中更新它。json文件。

步骤2:为静态文件创建一个文件

其次,在工作目录下创建一个文件夹。创建一个名为public的文件夹来存储要呈现的静态文件。将所有HTML和CSS静态文件放在此目录中以呈现它们。

步骤3:设置Express以呈现静态文件

使用express.static()方法为用户想要呈现的静态文件指定目录。

文件呈现使用两个代码脚本,一个用于后端,它接受放置在公共文件夹中的HTML代码。HTML代码保持简单,因为我们主要强调的是后端。

node . js脚本

Const express = require('express');

Const app = express();

app.use (express.static(公共));

Const port = 3000;

App.listen (port, () => {

console.log('服务器监听端口${port} ');

});

在此代码中:

  • " const express = require(' express ') "导入脚本中的express模块以使用其功能。
  • " const app = express() "启动应用程序
  • " app.use(express.static(' public '))) "指定获取文件的目录,并为它们提供使用和呈现它们的express应用程序。
  • 端口3000是为快速应用程序指定的。
  • ”:应用程序。Listen (port,() => "表示服务器处于活动状态,并且通过记录消息在指定的端口侦听。

HTML脚本

DOCTYPE html >

 

 

静态渲染示例

使用Express渲染静态文件

在这段代码中,只制作了一个标题,因为重点是在后端而不是前端,但是可以根据需要添加其他功能。

输出

现在用下面的代码运行Node.js脚本:

节点App.js

下面的消息将被记录在终端上,这表明服务器已经准备好了,并且正在端口3000上监听。

在浏览器上打开本地主机端口3000,以查看express模块呈现的HTML代码脚本

以上就是在express中呈现静态文件的全部内容。现在让我们看一下如何渲染动态文件。

如何在Express中渲染动态文件?

用户可以使用模板引擎在Express中呈现动态文件,从而根据数据动态生成HTML。下面使用的模板是EJS(嵌入式Javascript),它在呈现动态文件方面非常流行。

步骤1:安装EJS

使用以下命令在项目文件夹中安装EJS

NPM install ejs——保存

步骤2:用EJS设置Express

在Node.js文件中将EJS模板设置为视图引擎。

/ / App.js

Const express = require('express');

Const app = express();

const PORT = 3000;

App.set ('view engine', 'ejs');

app.use (express.static(公共));

App.get ('/user/:id', (req, res) => {

const userId = req.params.id;

const userData = {

id: userId,

用户名:用户$ {userId},

电子邮件:“用户$ {userId} @example.com”,

};

res.render('user', {user: userData});

});

app.listen(PORT, () => {

console.log('服务器正在http://localhost:${PORT}上运行');

});

以上代码执行的操作是:

  • " const express = require(' express ') "从节点模块中导入express模块。
  • " const app = express() "为express应用创建一个实例。
  • " app.set(' view engine ', ' ejs ') "用ejs模板配置express来动态渲染文件。
  • " app.use(express.static(' public ')) "启用存储在Node项目公共文件夹中的静态文件的服务。
  • " app.get(' /user/:id ', (req, res) =>{…})"定义侦听请求的引号。
  • " res.render(' user ', {user: userData}) "呈现EJS模板文件。
  • " app.listen(PORT,() =>{…})"在端口3000上启动服务器,用户可以在浏览器中输入" http://localhost:3000/user/123 "。

步骤3:EJS模板

在项目目录中创建一个名为“views”的目录,并在该文件夹中创建一个EJS模板文件“user.ejs”。这个文件将保存用户想要呈现的动态内容。将以下代码粘贴到该文件中

DOCTYPE html >

 

 

用户配置文件

用户配置文件

用户标识:

用户名:

电子邮件:

由于主要目标是动态呈现文件内容,因此只使用了必要的前代码。

步骤4:启动服务器

用户现在可以使用以下代码片段启动express应用程序:

节点App.js

其中App.js是目录中文件的名称。运行此代码后,终端将显示以下消息

现在用户可以在浏览器中使用链接http://localhost:3000/user/123,内容将动态呈现为

以上就是使用Node.js中的express模块动态呈现文件内容的全部内容。

结论

本文从头到尾解释了Node.js,展示了它是如何使用它的不间断和基于事件的JavaScript时间来处理大量事件的。它着眼于Express,一个著名的网站建设工具,也提到了NPM,以及如何在网站上显示静态或动态信息。尽管本文详细讨论了所有内容,但它是学习Node.js的良好初学者指南。