Advanced Plugin Techniques
Wrapping Other Plugins
You can create a plugin that combines multiple plugins:
export function configure(config) {
// Load and configure multiple plugins
config.plugin(PLATFORM.moduleName('aurelia-animator-css'));
config.plugin(PLATFORM.moduleName('aurelia-dialog'), dialogConfig => {
dialogConfig.useDefaults();
dialogConfig.settings.lock = true;
dialogConfig.settings.ignoreTransitions = true;
});
}Modifying Dependency Injection Behavior
Override default DI behavior:
import { MyService } from './my-service';
export function configure(config) {
// Create a new instance for each injection
config.transient(MyService, MyService);
// Singleton with a custom implementation
config.singleton(CustomLogger, class {
constructor() {
// Custom singleton logic
}
});
}Configuration Options
Create a configurable plugin:
Usage in an app:
Dynamic Resource Registration
Dynamically register resources based on configuration:
Plugin Composition
Create a plugin that composes multiple sub-plugins:
Last updated
Was this helpful?