Documentation
Named exports
Named exports
Use named exports and multiple classes per file without default exports.
In order to avoid export default class {className} every single time you create a class is possible to create a named export.
Is also possible to use multiple classes in you single JS file.
Named service
Imagine your NamedService.js class file like this
export class NamedService { }
Then your configuration YAML file will look like this in order to use namedService class as service.
services:
named:
class: ./../NamedService
JSON
{
"services": {
"named": {
"class": "./../NamedService"
}
}
}
JS
import {ContainerBuilder} from 'node-dependency-injection'
import {NamedService} from './../NamedService'
let container = new ContainerBuilder()
container.register('named', NamedService)
Multiple class export
Imagine your MultipleExports.js class file like this
export class ClassOne { }
export class ClassTwo { }
Then your configuration YAML file will look like this in order to use ClassOne and ClassTwo as services.
services:
one:
class: ./../MultipleExports
main: ClassOne
two:
class: ./../MultipleExports
main: ClassTwo
JSON
{
"services": {
"one": {
"class": "./../MultipleExports",
"main": "ClassOne"
},
"two": {
"class": "./../MultipleExports",
"main": "ClassTwo"
}
}
}
JS
import {ContainerBuilder} from 'node-dependency-injection'
import {ClassOne, ClassTwo} from './../MultipleExports'
let container = new ContainerBuilder()
container.register('one', ClassOne)
container.register('two', ClassTwo)
