多个Aurelia实例-Aurelia Webpack插件-aureliaApp选项-“未找到模块”

时间:2019-02-23 14:57:14

标签: aurelia aurelia-webpack

我正在将我的Web应用程序构成为许多Aurelia“功能”应用程序-尽管我并未使用Aurelia功能。因此,在我的html标记中,我有两个指向不同应用程序的入口点:

<!-- Top Navigation Bar --> 
<div aurelia-app="topnav"></div>

<!-- Main App--> 
<div aurelia-app="main"></div>

我正在使用webpack,并且使用单个“主”应用程序即可正常运行。 Webpack生成一个JS文件“ main.bundle.js”,该文件包含在src标记中。

当我添加“ topnav”应用程序时,事情并不是那么简单。在webpack中,我告诉插件使用其他aureliaApp名称:

 new AureliaPlugin({ aureliaApp: "topnav"}),

,正如您所看到的,我的HTML入口点也称为“ topnav”。 Webpack生成一个JS文件“ topnav.bundle.js”,我也将其包括在内。我有一个名为“ topnav.ts”的文件,其中包含aurelia Cionfigure函数,其结尾为:

     aurelia.start().then(() => aurelia.setRoot(PLATFORM.moduleName("nav")));

还有构成我的视图模型和视图的一对文件“ nav.ts”,“ nav.html”。

当我运行应用程序时,aurelia将加载并执行“ nav”模块代码。但是然后我得到一个错误-见下文。

Error after aurelia module executes

它报告无法找到的模块是输入到HTML标记中的模块。

这可行吗?我错过了什么吗?

我应该补充,一切似乎都正常。我可以在视图模型中创建和更新属性,并将这些属性绑定到视图。只是抛出了此错误。

1 个答案:

答案 0 :(得分:1)

您没有做错任何事情,只是不受支持的情况。每个官方文档Wiki:https://github.com/aurelia/webpack-plugin/wiki/AureliaPlugin-options#aureliaapp

您只能有1个具有vertical-align:middle; 配置的自动进入模块。要解决此问题,您只需将aureliaApp添加到PLATFORM.moduleName('topnav')中(并将其放在根级别)

另一种方法是手动引导:

main.ts