Verwenden verschachtelter Klassen zum Simulieren von Namespaces in ES6
Ich habe eine Datei,Services.js
, in dem ich versuche, alle meine einzelnen Dienste zu laden. Diese werden als Singletons angezeigt.
Services.js
var Services = { };
export default Services;
Ich möchte dann, dass der Beispieldienst unter "Dienste" verschachtelt ist, damit ich beispielsweise @ aufrufen kanServices.Sample.Operation()
`SampleService.js '
import Services from './Services';
Services.Sample = {
Operation: function() {
alert('operation!')
}
};
export default Services.Sample;
Dann versuche ich und importiere:
import Services from './services/Services';
import SampleService from './services/SampleService';
alert(Services); // yields '[object object]'
alert(SampleService); // yields '[object object]'
alert(Services.Sample); // yields 'undefined' <--- This is the one I actually want to use
Wie bekomme ich es, damit ich auf Services.Sample verweisen kann, anstatt auf SampleService. Wie kann ich SampleService unter Services verschachteln lassen?