我有一个依赖于DialogService
from的服务(无视图) aurelia-dialog
,并使用它来打开一个对话框。我想测试我的服务。这样做时,我在dialogService.open(...)
.
错误:DialogRenderer 必须实现 getDialogContainer()。
在 Renderer.getDialogContainer (webpack-internal:///./node_modules/aurelia-dialog/dist/native-modules/renderer.js:14:15)
在 DialogService.open (webpack-internal:///./node_modules/aurelia-dialog/dist/native-modules/dialog-service.js:139:106) ...
我的想法是在运行任何测试用例之前我需要加载插件。aurelia-dialog
为此,我尝试了以下方法。
import { bootstrap } from "aurelia-bootstrapper";
import { Aurelia, Container, PLATFORM } from "aurelia-framework";
describe("test specs", () => {
let container: Container;
beforeAll(async () => {
await bootstrap(async (aurelia: Aurelia) => {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin(PLATFORM.moduleName("aurelia-dialog"), (config) => {
config.useDefaults();
config.settings.lock = true;
config.settings.centerHorizontalOnly = false;
config.settings.startingZIndex = 5;
config.settings.keyboard = true;
});
Container.instance = container = new Container();
aurelia.container = container;
await aurelia.start();
});
});
});
但比我得到以下错误aurelia.start
。
错误:加载程序必须实现 loadAllModules(ids)。
在 Loader.loadAllModules (webpack-internal:///./node_modules/aurelia-loader/dist/native-modules/aurelia-loader.js:113:11)
在 ViewEngine.importViewResources (webpack-internal:///./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:3593:24)
在 eval (webpack-internal:///aurelia-framework:646:23)
在 <茉莉花>
在 loadResources (webpack-internal:///aurelia-framework:637:7)
在 eval (webpack-internal:///aurelia-framework:731:14)
在下一个(webpack-internal:///aurelia-framework:577:30)
在 runTasks (webpack-internal:///aurelia-framework:583:10)
在 eval (webpack-internal:///aurelia-framework:936:16)
在 <茉莉花>
在 eval (webpack-internal:///aurelia-framework:935:21)
在 <茉莉花>
在 FrameworkConfiguration.apply (webpack-internal:///aurelia-framework:919:42)
在 Aurelia.start (webpack-internal:///aurelia-framework:463:37) ...
因此,我的问题是如何aurelia-dialog
在这种情况下正确加载插件?