我正在将我的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”模块代码。但是然后我得到一个错误-见下文。
它报告无法找到的模块是输入到HTML标记中的模块。
这可行吗?我错过了什么吗?
我应该补充,一切似乎都正常。我可以在视图模型中创建和更新属性,并将这些属性绑定到视图。只是抛出了此错误。
答案 0 :(得分:1)
您没有做错任何事情,只是不受支持的情况。每个官方文档Wiki:https://github.com/aurelia/webpack-plugin/wiki/AureliaPlugin-options#aureliaapp
您只能有1个具有vertical-align:middle;
配置的自动进入模块。要解决此问题,您只需将aureliaApp
添加到PLATFORM.moduleName('topnav')
中(并将其放在根级别)
另一种方法是手动引导:
main.ts