我正在使用一个SPA,它将有许多不同的区域,每个区域都有几页.我的老板真的不想要几十个视图和viewmodels文件夹,每个文件夹中包含几个项目.如何配置Durandal使用以下内容:
/App/Areas/Login/ login.html login.js /App/Areas/Here/ subpage1.html subpage1.js subpage2.html subpage2.js subpage3.html subpage3.js /App/Areas/There/ subpage1.html subpage1.js subpage2.html subpage2.js subpage3.html subpage3.js
我看过其他关于区域的类似问题,但不太清楚如何开始.谢谢.
解决方法
你可以拥有心中所需的任何文件夹结构. Durandal不会在您的应用程序上强加任何文件夹结构,但它具有完全可以覆盖的默认约定.
如果您使用的是Durandals router,那么您将需要了解如何配置它以查找模块.有很多方法可以做到这一点,我更喜欢通过覆盖router.autoConvertRouteToModuleId来创建自己的约定.
如果您没有使用路由器插件,那么您必须自己管理模块的uris,这是通过遵循requirejs’约定并使用此约定与w / durandals composition模块完成的.
此外,您可以通过覆盖viewlocators约定来覆盖它如何找到要绑定到模块的视图. Durandal提供了一种非常简单的方法来构建小型应用程序,但是如果您需要构建更大的应用程序,那么建议您创建自己的约定.