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*/});
});
}
});
有没有办法从服务包装器中获取服务 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*/});
});
}
});