初次接触express框架

425 阅读3分钟

以官网bear例子入手

首先打开例子可以看到目录结构

由官网解释可知

  • bear.js文件下就是创建我们的bear模块

  • 在node_models/是通过npm install创建的我们需要的依赖。
    //按ctrl+alt+O即可调出控制台console

  • 下载好了依赖,可通过package.json查看

    zaipackage.json中,我们能看到有三个依赖,那他们是做什么用的呢?
    首先,express是后端nodejs的一个框架
    mongoose是链接数据库一个ORM(即描述描述对象和数据库映射关系的元数据,将程序中的对象自动持久化到关系数据库中) body-parser可以从前端HTTP的请求中提取post内容

  • 在server.js文件中,就可以配置app、路由以及API接口

定义bear模块,并为它提供一个名称字段

在bear.js文件中引入mongoose包,为bear模块定义一个字符串的字段类型名字. module.exports是模块接口,声明这个模块对外暴露什么内容,这种方法可以返回全局共享的变量或者方法

nodejs内容的开始就在server.js,那我们打开server.js,正式开始写后端

在这个BASE SETUP部分,我们引入了需要用的package
其中,body-parser是一个**HTTP请求体解析中间件*,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体,Express框架中就是使用这个模块做为请求体解析中间件。、

设置端口

为了满足正式环境中的node服务的端口启动需求,有时候需要用到port环境变量,此时就需要在node启动时。设置process.env.PORT。
process.env.PORT:读取当前目录下环境变量port的值

一般来说我们都是用8080端口,当端口被占用时我们也可以用8081、8082等。(后期会出一个关于常见的端口被占用事件的整理订正合集)

之后的这条语句,是用来连接我们的MongoDB数据库 mongoose。connect内的参数是访问本机网站的地址,我们可以通过Robo 3T进行查看自己的本机地址
所以参数可以写成

mongoose.connect('mongodb://localhost/27017'); // connect to our database

大家还记得我们在bear.js里定义的bear模块吗?现在我们可以引用了!

现在我们的bear模块已经被引入进来了,接下来我们可以设置我们的路由了,这些路由将会定义我们的API接口。

如上,我们需要先定义一个路由的实例,以便处理我们所有的路由。
然后我们要声明一个中间件

router.use(function())

使用中间件十分的重要,可以验证请求中的信息,来保证数据是安全可靠的,当报错时,我们还可以throw error. 而且express4.0版本进行了优化,使用这条命令,可以确保路径按照被列出的顺序执行。
返回信息时是以JSON数据的方法,这是API的标准。 通过打印”Something is happing“来测试中间件运行。

next()

这条语句的含义是使其他路由在执行时这条不会停止。

在代码底部注册路由,其他路由都默认带有/api

使用POST请求创建bear

如上,我们创建了一个新的路由,用来发送post请求来创造一个bear:

  • 从bear模块中创建一个实例
  • 从请求中获得bear的信息(姓名)赋给bear.name
  • 保存bear,检测并发送错误
  • 返回信息“massage:‘Bear created’”

现在我们为app创建了post的路由,我们还可以用

router。route()

去处理同一条URL的多条路由,我们可以处理以/bear结尾的所有请求

用Postman检测

通过:bear_id 来获取具体bear

代码如下:

涵盖API所需的所有路由