【问题标题】:Aurelia start setRoot gives the error No applicationHost was specifiedAurelia start setRoot 给出错误 No applicationHost was specified
【发布时间】:2019-06-04 04:05:24
【问题描述】:

使用以下代码:

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

要重现的代码沙盒:

https://codesandbox.io/s/0x4wvlly90

【问题讨论】:

  • 所写的代码对我来说似乎是正确的。我相信在使用 Webpack 时对 setRoot 的空调用不起作用,因为 Webpack 需要您具体说明需要加载哪些模块。如果我不得不猜测,我猜想我们的 CodeSandbox“加载器”的工作方式存在类似的问题。
  • @AshleyGrant 我一开始也怀疑“CodeSandbox loader”。但是我用 Aurelia Script 进行了测试,得到了完全相同的结果。 codesandbox.io/s/lp342n59w7 修改自 aurelia.io/blog/2018/11/04/aurelia-2018-q3-report 的代码。

标签: javascript typescript aurelia codesandbox


【解决方案1】:

在自动引导中,aurelia-bootstrapper 检测具有aurelia-app 属性的元素,并根据指定的值将主条目加载到引导程序,其中包含有关哪些元素承载这些aurelia-app 属性的信息。这就是为什么您可以在没有任何参数的情况下执行setRoot()。第一个参数是app.js,第二个参数由上述检测自动提供。

当您像在问题代码块中那样手动引导时,没有关于 root 的信息,因此您看到了错误。因此,提供第二个参数是正确且标准的方法。

【讨论】:

  • 我尝试在两个示例中设置<body aurelia-app="app.js">,但仍然遇到相同的错误。见Codesandboxcodesandbox.io/s/lp342n59w7codesandbox.io/s/0x4wvlly90
  • 在传统设置中,您的应用程序的入口是aurelia-bootstrapper,它负责查找具有aurelia-appdata-aurelia-app 属性的元素,并根据这些属性的值进行引导。你在那些沙箱中的东西是不同的,你不是使用aurelia-bootstrapper来启动应用程序,而是从几行简单的JS开始。
猜你喜欢
  • 2022-12-01
  • 1970-01-01
  • 2018-07-10
  • 2021-08-28
  • 1970-01-01
  • 2016-12-27
  • 2018-02-24
  • 2019-11-18
  • 1970-01-01
相关资源
最近更新 更多