第零章 最重要的一章
前端程序员有一个优势:比较熟悉 js,而 js 是可以写后端的。 这样,可以少学一门编程语言,而专注于编程语言之外的东西。
最初,js 只能在浏览器里运行。
后来有了 Node.js
。
不得不说,太多人对 Node.js
有严重的误解:Node.js 是一个 js 框架 。
Node.js
的真实身份,正式的说法是“一个 js 运行时”,但“运行时”是什么?
简单地说,Node.js
是一个执行 js 代码的程序。
也就是说,如果我们用 js 写了一个程序,然后就可以用 Node.js
让这个程序跑起来。
比如,我们把一些代码写在一个叫 hello.js
的文件里。
如果你的电脑上已经安装 Node.js
,那么你就可以:
node hello.js
我们可以在服务器上安装 Node.js
,
就像安装 Python、Ruby 差不多,
然后把我们的 web 后端程序放到某个目录里,
然后用 Node.js
执行它,
一个 web 后端服务就起来了。
安装 Node.js
- 打开 https://nodejs.org/en/download
- 点那个绿色的
Download Node.js xxx
按钮,你会下载一个安装包 - 下载完成后,双击安装包就可以了,我想你知道怎么做
http 通信
在正式开始写代码前,应先了解一下 http 通信。
下面是一个用 axios 发送请求(创建一个用户)的例子:
1const res = await axios.post('http://1.2.3.4:8080/user', {2 name: 'PPz',3 year: 3,4})
在底层,浏览器会发送一个 POST
请求,到 ip 为 1.2.3.4
的电脑上。
这个电脑有可能是一个家用电脑,有鼠标、键盘、显示器;
也可能是服务器机房里,某个架子上的、一台黑乎乎的长方体盒子;
也可能是某个云服务提供商(比如阿里云、腾讯云)的一台“大电脑”里的某个虚拟机;
也可能……
这个过程,跟用手机发短信很类似:
- 输入短信内容(比如“帮我带饭,食堂二楼的麻辣烫,加辣。over”)
- 输入手机号(表示发送到谁的手机上)
ip 为 1.2.3.4
的电脑收到数据后,
这台电脑,会把接收到的数据,交给端口号为 8080
的程序,
(这台电脑上可能有很多“后端程序”,因此需要一个“编号”,也就是端口号),
等程序处理完,一般会都会回信息,比如“带饭请求已收到,但我不想给你带。over”。
这个“回信息”,在 http 通信里,叫“响应”。
响应由服务器发送给客户端,最终由 axios 交到一个叫 res
的变量里(看上面那个 axios 例子)
注意:上面的两条短信(“带饭请求”和“拒绝带饭”)中,结尾处都有一个“over”,这个老梗要在下章有伏笔。
小结
应了解:
- Node.js 不是一个 js 框架
- http 通信大致流程
尽管 Node.js 会在这个小教程里经常出现,但这个小教程的目的不在于介绍 Node.js,而是以 Node.js 为例来介绍后端开发。 在这里,Node.js 像一个演员,扮演“后端”这个角色,但我想给观众看的,是“后端”这个角色,而不是 Node.js 这位演员。 类似的,经典电影电视剧里,我们记住的是角色:一位出色演员,你可能想不起来她\他的真名,但能说出她\他扮演的很多角色(容嬷嬷、李达康、高启强……)。 看完这个小教程,如果你能说“我认识了后端开发”,那将是对我最大的肯定。