Feathers.js - 从服务实例获取服务 path/route

Feathers.js - get service path/route from service instance

有没有办法从服务包装器中获取服务 path/route?

像这样:

let myService = app.service('users');

myService.name === 'users'; // true

我正在尝试基于现有服务动态创建新服务,如下所示:

let services = [service1, service2, service3];

services.forEach(service=>{
    app.use(`somePrefix-${service.name}`, {get: get, find:find /*etc*/});
});

并且我需要服务的路径来注册新路径。

有两种方法可以做到这一点。首先,您已经自己回答了:使用 setup 方法并设置 this.path = path.

另一种方法是添加一个 service mixin,每当注册服务时都会调用它。

app.mixins.push((service, path) => {
  // Only do this for non-prefixed services
  if(path.indexOf('somePrefix') === -1) {
    services.forEach(service => {
        app.use(`somePrefix-${path}`, {get: get, find:find /*etc*/});
    });
  }
});