Skip to content

首先,在 VSCode 编辑器中打开一个没有任何文件的空目录,然后创建一个 package.json 文件。

json
{
    "name": "CoolApi",
    "version": "1.0.0",
    "description": "我的接口框架",
    "type": "module",
    "main": "server.js",
    "scripts": {
        "dev": "node server.js"
    }
}

在这里,我们给项目起名为 CoolApi

版本号是 1.0.0

项目描述就是 我的接口框架

语法采用的是 module模式

入口文件为 server.js

只有个一个 dev脚本,作用就是通过 Node.js 执行 server.js 文件。

本课程以全栈开发的思路为主干,如果以上内容你有不清楚的概念 (比如 type 除了 module 还有什么?入口属性 main 的作用是什么?脚本如何执行?等等),请在专属交流群艾特我。

package.json 文件创建好之后,我们继续创建 server.js 文件。

js
import { createServer } from 'node:http';

const server = createServer((req, res) => {
    res.end('你好,世界!');
});

server.listen(3000);

最终,我们的项目结构如下:

bash
CoolApi/
├── package.json
└── server.js

非常极简的一个例子,几行代码就把一个 Web 服务创建好了。

这就是我们 Web 服务的基座,后面的章节都是围绕着这段极简代码来完善的。

首先呢,需要从 Node.js 内置的 http 模块中导出 createServer 方法。

然后用这方法,来创建一个 Web 服务实例并赋值给 server 常量。

最后再选择一个你喜欢的端口数字,监听来自这个端口收到的消息。

当请求到达的时候,就发送:你好,世界! 给请求端。

再次声明,且后续章节不再复述。

如果你对什么是端口?端口一共有多少个?等这类跟本课程主干方向有些偏离的发散性问题比较好奇的话,请在问答群里艾特我。

这是所有本课程高级档的基本权益,同时也避免本课程文字过于分散影响阅读和学习。

那么我们在命令行,执行 npm run dev 命令,就可以启动 web 服务了。

此时,可以在控制台看到有一个闪动的光标,这表示 Web 服务启动了,并且正在监听端口 3000 端口中。

浏览器访问

然后打开浏览器,输入 http://127.0.0.1:3000 并回车,就能看到返回的内容了。

等等,怎么返回的是看不懂的文字,我们的:你好,世界!,呢?!

如果你学习过 html 的话,一定知道这是再正常不过的编码问题,那么在 Node.js 中如何解决这个问题呢?

js
import { createServer } from 'node:http';

const server = createServer((req, res) => {
    res.writeHead(200, {
        'Content-Type': 'text/plain;charset=utf-8'
    });
    res.end('你好,世界!');
});

server.listen(3000);

只需要在返回数据之前,设置好返回数据的头部参数 Content-Type 的编码 charsetutf-8 就行了。

可以正常访问啦

至此,一个极简的 Web 服务框架就完成了。

何以解忧,唯有代码。不忘初心,方得始终。