javascript - 如何在featherJS创建的服务上实现自己的代码

标签 javascript node.js feathersjs

我想在项目中使用feathersJS。我已经浏览了文档,并尝试浏览文档中提供的聊天应用程序,但我仍然没有很好地理解。

据我了解,他们为每个功能创建服务和数据库,例如用户和消息,创建了两个使用 Nedb 数据库的服务。

我的问题是,我是否应该创建包含要实现的每个功能的数据库的服务?其次,对于fees创建的每个服务都有app.js,所以我想要编写的逻辑代码除了featherJS创建的逻辑代码之外需要写在app.js上还是需要自己创建另一个app.js?

如果您能给我推荐一些使用feathersJS完成的项目,我也将不胜感激。

最佳答案

您是否使用 CLI 创建应用程序和服务?也许会更容易。但实际上没有必要为每个服务都创建一个数据库,除非确实需要使用多个服务。

关于逻辑代码,这取决于。它可以被处理为 express middleware或在 service hooks (for every service or for the application) 。第二种情况更多的是关于客户端请求的预处理和后处理。当然,操作本身可以是一个类、一个函数甚至是一个API调用。例如,您可以仅在执行'get'操作之前检查客户端在请求中发送的参数,将ckeck添加到GET before钩子(Hook)中。还有一个钩子(Hook)来检查身份验证。

//in other some place
module.exports = (hook) => {
    return hook.params.query.device_type === 'smartphone' 
    ? console.log('is a smartphone request')
    : console.log('is not a smartphone request');
}

//src/services/devices/devices.hooks.js
const { authenticate } = require('@feathersjs/authentication').hooks;
const myVerification = require('path/to/myverification');
const myVerification2 = require('path/to/myverification2');

module.exports = {
  before: {
    all: [ authenticate('jwt') ],
    find: [],
    get: [myVerification, myVerification2],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  after: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  error: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  }
};

关于javascript - 如何在featherJS创建的服务上实现自己的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51310158/

相关文章:

node.js - VueFire vs Vue.js + Node.js vs Vue.js + Feathers 优缺点和差异

sequelize.js - 序列化sequelize嵌套模型

javascript - 如何使用 OpenLayers 使点击的链接居中并在 map 上显示弹出窗口?

node.js - Nodejs/PostgreSQL sequelize - 如何更新/更改数据库中的模型?

javascript - mongodb isValid 函数对于无效的 ObjectID 返回 true

javascript - JS/ECMAScript6 私有(private)字段的模式与 let?

javascript - 使用 React 的代理设置从 Featherjs 后端获取数据

javascript - 在同一个 jquery 函数中,一行在前面的行之前执行

javascript - 单击时 Accordion 选项卡定位到顶部

javascript - 使用变换和元素定位/大小