Système de services avec injection de dépendance pour Midgar
$ npm i @midgar/service
Si tout s'est bien passé, un message de confirmation s'affiche:
#midgar-cli
@midgar/service added to plugins.json !
Ce plugin ajoute un type de module midgar-service contenu dans le dossier ./services/.
export default {
// Nom du service
name: 'namespace:monService',
// Le service s'initialiseras avant le service mid:express
before: ['mid:express']
// Service a injecter
dependencies: [
'mid:mongo'
],
// Service
service: (mid, mongoService) => {
....
return service
}
}
// Nom du service
const name = 'namespace:monService'
// Le service s'initialiseras avant le service mid:express
const before = ['mid:express']
// Service a injecter
const dependencies: [
'mid:mongo'
]
// Service
class MyService {
constructor(mid, mongoService) {}
init () {
...
}
}
export default {
name
before,
dependencies,
service: MyService,
}
La methode init est appelé automatique lors de la création de l'instance du service.
const serviceInstance = mid.getService('namespace:monService')