【问题标题】:Aurelia Unable to find module with ID when setRoot with variableAurelia 在使用变量的 setRoot 时找不到具有 ID 的模块
【发布时间】:2017-09-04 22:41:54
【问题描述】:

我正在尝试按照这个示例说明如何在多页应用程序中使用 aurelia。

http://patrickwalters.net/creating-multipage-apps-using-aurelia-2/

当我这样做时

  aurelia.start().then(a => {
    let start = 'app'
    a.setRoot(start);
  });

我收到以下错误:

无法找到 ID 为 app 的模块

  • 我已经使用 require 完成了这项工作。也许与 webpack 有关?
  • 在示例中,'start' 从 body 元素接收一个字符串,我只是想让它易于理解

【问题讨论】:

    标签: aurelia


    【解决方案1】:

    Webpack 要求您使用 PLATFORM.moduleName 来声明您的模块名称,请参阅文档:https://github.com/aurelia/webpack-plugin/wiki/Managing-dependencies

    所以你需要写

    import { PLATFORM } from "aurelia-pal";
    ...
    
    aurelia.start().then(a => {
        let start = PLATFORM.moduleName('app');
        a.setRoot(start);
      });
    

    【讨论】:

    • 如示例所示,值 'app' 需要来自 a.host.attributes.start.value 并且即使使用 PLATFORM.moduleName 也不起作用,例如(使用 TS)a。 setRoot(PLATFORM.moduleName(a.host.attributes.getNamedItem('start').value))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多