首先,在 VSCode 编辑器中打开一个没有任何文件的空目录,然后创建一个 package.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
文件。
import { createServer } from 'node:http';
const server = createServer((req, res) => {
res.end('你好,世界!');
});
server.listen(3000);
最终,我们的项目结构如下:
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 中如何解决这个问题呢?
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
的编码 charset
为 utf-8
就行了。
至此,一个极简的 Web 服务框架就完成了。