javascript - Aurelia start setRoot 给出错误 No applicationHost was specified
问题描述
使用以下代码:
import { Aurelia } from "aurelia-framework";
export async function configure(aurelia) {
aurelia.use.standardConfiguration().developmentLogging();
await aurelia
.start()
.then(a => a.setRoot())
//.then(a => a.setRoot("app.js", document.body))
.catch(ex => {
document.body.textContent = `Bootstrap error: ${ex}`;
});
}
我收到此错误:
引导错误:错误:未指定应用程序主机。
如果我改用使用.then(a => a.setRoot("app.js", document.body))
而不是.then(a => a.setRoot())
一切正常。
在 Aurelias 自己的快速入门指南中,他们使用以下代码:
import {Aurelia} from 'aurelia-framework';
export function configure(aurelia: Aurelia) {
aurelia.use.basicConfiguration();
aurelia.start().then(() => aurelia.setRoot());
}
如果我切换到use.basicConfiguration
我的代码,我仍然会遇到同样的错误。
https://aurelia.io/docs/tutorials/creating-a-todo-app#getting-ready-to-render
Codesandbox 重现:
解决方案
在自动引导中,aurelia-bootstrapper
检测具有aurelia-app
属性的元素,并根据指定的值,将主条目加载到引导,其中包含有关哪些元素承载这些aurelia-app
属性的信息。这就是为什么你可以setRoot()
不用任何争论。第一个参数是app.js
,第二个参数由上述检测自动提供。
当您像在问题代码块中那样手动引导时,没有关于 root 的信息,因此您看到了错误。因此,提供第二个参数是正确且标准的方法。
推荐阅读
- java - App container cannot connect to mysql container in the same network
- vb.net - How to make a class library reference another class library that contains just an interface?
- microsoft-graph-api - callRecords change notification with authorization error
- unity3d - Unity 2D 实例化预制件订单
- amazon-web-services - AWS CloudFormation 根据环境设置 EFS ThroughputMode 和 ProvisionedThroughputInMibps 问题
- flutter - 在颤动中缓存“FileImage”
- r - Sum 不计算 dplyr 中带有 summarise 的某些字符向量
- scala - toMap 的隐式转换器
- python - 你能让乌龟成为python的圆心吗?
- vaadin-flow - 不使用自定义主题时,如何在 Vaadin 14.7.x 中启用徽章 CSS 类?