0%

【NodeJS】为基于Express框架创建的Node后台配置路由

此文章是这个系列的第二篇文章,我们在上文的基础上为我们的NodeJS后台项目配上路由,便于我们的代码组织。

写在前面

上一篇文章中我们初始化了一个基于Express框架的NodeJS后台,但是里面的代码全都在index.js文件中,所以这一篇文章就给大家介绍下如何去组织node后台的代码编写,也就是我们说的给它配置个路由。

环境要求

  • 安装了NodeJS环境(可以使用npm包管理工具)
  • 初始化了一个NodeJS后台项目demo

操作步骤

1、在项目根目录下新建routers文件夹,然后在里面新建一个路由文件,并编写所要的后台接口代码,如下所示:

img

1
2
3
4
5
6
7
8
var express = require('express');
var router = express.Router();

router.get('/forward', function(req, res) {
res.send('geocode forward');
});

module.exports = router;

以上代码是geocode.js文件中的代码,也就是我们新建的一个路由文件代码,然后我们在index.js文件中,引入这个路有文件,并编写一些配置代码,如下:

1
2
3
4
5
6
7
8
9
10
11
12
var express = require('express');
var app = express();

var geocode = require('./routers/geocode'); //引入新建的路由文件

app.use('/geocode', geocode); //配置该文件

app.get('/', function(req, res) {
res.send('hello world!');
});

app.listen(3001);

2、然后我们保存代码在浏览器中通过地址localhost:3001/geocode/forward来访问我们新建的路由文件中的接口,如下所示:

img

我们保存代码后并没有重启后台程序,代码也能生效,是因为我们用了上文介绍的supervisor这个插件,它会自动监听代码文件的变化并重启后台程序。

3、为了代码的整洁,我们将index.js中的关于主路由,即localhost:3001/的代码也单独存放在一个路由文件中。同样的,在routers文件夹中新建一个home.js文件,然后将index.js中的相关代码移动到home.js文件中,并在index.js中引入和配置home.js路由文件,最终两个文件中的代码如下:

home.js代码:

1
2
3
4
5
6
7
8
var express = require('express');
var router = express.Router();

router.get('/', function(req, res) {
res.send('hello world!');
});

module.exports = router;

index.js代码:

1
2
3
4
5
6
7
8
9
10
var express = require('express');
var app = express();

var home = require('./routers/home');
var geocode = require('./routers/geocode');

app.use('/', home);
app.use('/geocode', geocode);

app.listen(3001);

4、然后保存代码浏览器访问主路由localhost:3001,也能得到和上文一样的结果,如下:

img

总结

这篇文章介绍了如何为我们创建的node后台配置路由信息,通俗点说,就是为了更好地组织后台中的代码,我是这么理解的。