使用 Node.js
开发后端,可以选择的主流框架有两个,一个是Express,另一个是Koa。
Express
在Github上有 44.3k
个 star,npm
上本周下载量是 9,355,691
。Koa
在Github上有 26.4k
个 star 数,npm
上本周下载量是 328,601
,仅仅是 Express
周下载量的 1/28
。其实这两个框架的作者都是同一班人马,我觉得呢:
Express
相关的资源更丰富,更完善一些,更适合做完整的大型项目。Koa
更适合轻量应用的开发。网上有不少文章说 Koa
更好,有什么什么新特性,例如 Async
之类的。然而我要告诉你的事实是:这些新特性 Express
现在也都支持。而真实数据表明:相对而言:Koa
的生态、用户数和 Express
比,实在差距太大了。说 Koa
要替代 Express
完全是无稽之谈。
而且就我观察,貌似只有国内的开发者在关注 Koa
,而国际上主流用户选择的依然是 Experss
。相信这个原因和国内网上一些为 Koa
摇旗呐喊的文章有很大关系。希望大家在为项目选择技术方案的时候,一定要好好做调查。用真实的数据说话,不要别人说什么就一味相信什么。
我在准备这套课程的时候,好好的对比、学习了一下这两个框架。其实你只要会了 Express
或者 Koa
其中之一,你再学另一个。相信我,看 30分钟 ~ 一个小时
的文档和相关资料,你就完全可以上手开发项目了。因为他们 95%
以上玩法都是相通的。
因为现今 Express
依然处于 Node.js
开发后端的王者地位,所以我们的课程讲解的就是 Express
。
Express
项目这一集,咱们来正式跑一个Express
项目
$ mkdir myapp
$ cd myapp
$ npm init
同样的新建项目文件夹后,使用 npm init
,创建 package.json
。这次咱们没有使用 -y
参数,所以命令过程中会问我们几个问题,大多数问题都是直接按回车就可以了。
但有一个地方要注意,项目的入口文件咱们填写 app.js
:
entry point: (index.js) app.js
最后会生成这样的 package.json
{
"name": "myapp",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
$ cnpm i express -S
app.js
文件在 myapp
目录中,创建一个 app.js
的文件,然后添加以下代码:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
说明:
前两行就是引用并调用
express
。第二段代码是说,当有一个
get
请求在/
这个路径时,响应一个Hello World!
出来。最后一段代码,是说在
3000
端口启动服务,并在终端
里显示提示信息。
node app.js
访问 http://localhost:3000/ 就可以看到Hello World!
了
除了上面这种方法启动服务外,咱们还可以通过自定义命令来启动服务。package.json
中找到这一行,"test": "echo \"Error: no test specified\" && exit 1"
,删掉后,添加:
"scripts": {
"start": "node app.js"
},
先停止掉服务
ctrl + c
然后试试自定义的命令,发现依然是可以正常运行的。
npm start
这节课的内容比较简单,主要学习了:
Express
项目包含了哪些内容。Express
项目。package.json
中,自定义命令。已添加到喜欢了