Skip to content

陈随易

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

picture 0

本课程代码以截图为主,请大家手动敲一遍,以巩固和加深记忆。

这是 Node.js 项目的基本文件,你可以把我们写一个 Node.js 项目比作请客吃饭,那么 package.json 就是物品清单的意思。

在这里,我们给项目起名为 MeApi。版本号是 1.0.0。文件描述就是我的接口框架。语法采用的是 module 模式。入口文件为 index.js。只有个一个 dev 脚本,作用就是通过 Node.js 执行 index.js 文件。

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

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

picture 1

非常极简的一个例子,几行代码就把一个 Web 服务创建好了,这就是我们 Web 服务的基座,后面的一切都是围绕着它来完善、装饰、点缀。

首先呢,需要从 Node.js 内置的 http 模块中导出 createServer 方法,然后用这方法,来创建一个 Web 服务实例并赋值给 server 常量。最后再选择一个你喜欢的端口数字,监听来自这个端口收到的消息。当请求到达的时候,就发送你好,世界!给请求端。

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

如果你对什么是端口?端口一共有多少个?等这类跟本课程主干方向有些偏离的发散性问题比较好奇的话,请在问答群里艾特我。这是所有本课程高级档的基本权益,同时也避免本课程文字过于分散影响阅读和学习。

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

picture 2

可以看到 dev 命令的值 node index.js 正是我们命令行执行的指令,其实直接在命令行输入 node index.js 也是一样的。

执行完毕后,会看到在命令行有一个闪动的光标 (如 1 处所示),这表示 Web 服务启动了,并且正在监听端口消息中。

picture 3

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

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

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

picture 4

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

picture 5

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

还记得我前面说的这就是我们 Web 服务的基座,后面的一切都是围绕着它来完善、装饰、点缀。吗?

没错,如果我们要返回 html 页面,返回图片,返回 css,返回 js,只需要设置好返回文件的类型就可以了。这里的 {‘Content-Type’:‘text/plain;charset=utf-8’} 中的 text/plain,就表示返回一个普通的文本内容。

千万不要光看不写哦,请动手试试吧,如果还有疑问,请到问答群艾特我,下个章节,我们不见不散~

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