Nodejs Tour

1 安装Nodejs

Nodejs官网:https://nodejs.org/en/

下载对应版本的Nodejs安装包,安装即可。

可能需要自行配置环境变量,具体操作视安装包的不同而定。

1.1 也可以使用nvm管理Nodejs版本

nvm:https://github.com/nvm-sh/nvm

安装nvm后,使用命令nvm install安装Nodejs,使用命令nvm use切换Nodejs版本。使用nvm前不要安装Nodejs,否则会导致nvm无法正常工作。

2 验证Nodejs安装成功

在命令行中输入node -v命令,如果能看到Nodejs的版本号,说明安装成功。

3 运行Nodejs

打开命令行,输入node命令,即可运行Nodejs。

4 编写第一个Nodejs程序

创建一个名为hello.js的文件,输入以下代码:

1
console.log('Hello, Nodejs!');

然后在命令行中运行node hello.js命令,即可看到输出Hello, Nodejs!

5 Nodejs的Hello World程序

1
console.log('Hello, Nodejs!');

6 Nodejs的基本语法

  • 变量:varletconst
  • 数据类型:NumberStringBooleanArrayObject
  • 条件语句:ifelseswitch
  • 循环语句:forwhiledo-while
  • 函数:function
  • 注释:///* */
  • 运算符:+-*/%++--+=-=*=/=%=
  • 字符串模板:${}

7 Nodejs的组成

前面我们输出了一个“Hello, Nodejs!”但实际上这只是简单地利用nodejs的环境执行JavaScript代码,并没有涉及到Nodejs的核心内容。在我们创建第一个真正的 Node.js 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:

  • require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。

  • 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  • 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

8 Nodejs的使用

1.引入模块

Node.js 内置了很多模块,可以直接使用。比如,我们可以使用 http 模块来创建 HTTP 服务器。

1
const http = require('http');

2.创建服务器处理请求进行响应

1
2
3
4
5
6
7
8
9
10
11
12
13
const http = require('http');

// 创建一个HTTP服务器,当有请求进来时,返回状态码200和一段文本
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, Nodejs!\n');
});

// 服务器监听3000端口,启动后在控制台输出服务器运行地址
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});

在这段代码中,我们使用 Node.js 的 http 模块创建了一个 HTTP 服务器。下面是对每一行代码的详细解释:

1
const server = http.createServer((req, res) => {
  • const server = http.createServer((req, res) => { ... });:这行代码使用 http.createServer 方法创建了一个 HTTP 服务器实例,并将其赋值给常量 servercreateServer 方法接受一个回调函数作为参数,这个回调函数会在每次有 HTTP 请求到达服务器时被调用。

  • (req, res) => { ... }:这是回调函数的定义,它接收两个参数:reqresreqhttp.IncomingMessage 的一个实例,代表客户端的请求;reshttp.ServerResponse 的一个实例,代表服务器的响应。

1
res.statusCode = 200;
  • res.statusCode = 200;:这行代码设置了响应的状态码为 200,表示请求成功。
1
res.setHeader('Content-Type', 'text/plain');
  • res.setHeader('Content-Type', 'text/plain');:这行代码设置了响应头中的 Content-Type 字段为 text/plain,表示响应的内容是纯文本。
1
res.end('Hello, Nodejs!\n');
  • res.end('Hello, Nodejs!\n');:这行代码发送响应体,并结束响应过程。'Hello, Nodejs!\n' 是响应体的内容。调用 res.end 方法后,服务器会认为响应已经完成,并关闭连接。

总结来说,这段代码创建了一个简单的 HTTP 服务器,当有请求到达时,它会返回状态码 200 和一段纯文本内容 “Hello, Nodejs!”。