我有一个服务(无视图)依赖于DialogService
中的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)...
在运行任何测试用例之前,我都得到了idea that I need to load the plugin 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)
在评估时(webpack-internal:/// aurelia-framework:646:23)
在<茉莉花>
在loadResources(webpack-internal:/// aurelia-framework:637:7)
评估时(webpack-internal:/// aurelia-framework:731:14)
接下来(webpack-internal:/// aurelia-framework:577:30)
在runTasks(webpack-internal:/// aurelia-framework:583:10)
评估时(webpack-internal:/// aurelia-framework:936:16)
在<茉莉花>
在评估时(webpack-internal:/// aurelia-framework:935:21)
在<茉莉花>
在FrameworkConfiguration.apply(webpack-internal:/// aurelia-framework:919:42)
在Aurelia.start(webpack-internal:/// aurelia-framework:463:37)...
因此,我的问题是在这种情况下如何正确加载aurelia-dialog
插件?