用Featherjs 快速的创建一个服务端

237 阅读3分钟

安装构建工具

npm install @feathersjs/cli -g

创建一个 Feather应用

mkdir feathers-chat  // 创建一个目录  feathers-chat是文件夹名称你可以修改
cd feathers-chat/   // 进入到这个目录
feathers generate app  // 创建应用

前面几部一路回车 到这里了下的选择 REST和 Socket.io

测试框架这个随便填写

为了模仿真实的开发流程这里可以选择 Y这样的话接口的访问就是需要使用 token来进行校验

选择Local 账号密码的形式来进行用户鉴权

使用默认的users来管理用户模块就好

课程代码当中使用的Sequelize进行数据库操作

数据库类型是 Mysql

这一步可以直接回车 因为后期可以修改这个配置

修改配置

config目录下修改 default.json 修改正确的mysql的链接信息 修改为你真是的mysql的链接地址

如果你的数据库是有密码的还需要去设置一个 密码

在src目录下的sequelize.ts文件进行设置

设置你的用户登录的账号和密码的字段

默认 featherjs使用的是 email和 password这两个字段作为账号和密码的字段。 如果你的项目并不是的话你就需要去修改这个配置

由于我们已经修改过 users的model文件 我们改成了使用username作为账号 password作为密码

修改的位置为 config 目录下的 default.json

如何新建一个服务

在项目根目录输入

feathers generate service

what kind of service is it 你选择什么类型的服务 选 sequelize

你的服务的名称 根据你的实际业务来说明 比如跟公司相关的 我就写了个 company

这个服务的访问路径的设置 默认就是你的服务名称

这个服务的接口是否需要鉴权访问 (请求的时候检验token) 建议选择 yes

创建完成之后再 src/model目录当中就可以看到你刚刚新创建好的服务名称的 model文件

找到 sequelizeClient.define的位置 ,第二个参数就是我们对于这个服务的数据库的字段的描述。大家可以根据自己的实际业务需求来进行配置

关于字段的描述

上图当中的字段的描述还有一些参数

{
  name:{
      type:  数据类型参考 后面的链接,
      allowNull: 布尔值 是否允许为空,
      defaultValue: 默认值,
      primaryKey: 是否是组件,
      autoIncrement: 是否自增,
      unique: 是否唯一,
      comment: 备注信息,
        
  }
}

其他列的参数可以参考

www.sequelize.cn/core-concep…

常见的sequelize 字段类型

www.sequelize.cn/core-concep…

完成以上流程可以得到的接口有以下的范例

Navicat的使用

打开navicat 点击左上角的链接

选择MySql

添加数据库的信息 填写完后不要急着点击保存。 先点击左下角的 test connection 测试链接。

出现 connection successful 后再点击保存

进入之后就可以看到自己的刚才新建的链接了 双击链接

如果有新建的表格 你可以刷新之后才能看到自己的表