私の組織では各エリアがSPAを表し、 "Manage NuGet Package"を介してインターネットアプリケーションmvc4を持っています。 "Durandal 1.2.0"、 "Durandal Transitions 1.2.0"と "Durandal Router 1.2.0"があります。私はフォルダを整理し、Durandalのフォルダ "App"から "views"と "viewmodels"を終了し、新しいビューをmvc4エリアのフォルダ "VIEWs"に入れます:複数のSPAのためのDurandalとMVC4エリア
エリア - > NewArea - > Views - > ControllerFolder - >ビュー - > shell.htmlその後
私は例えば "スクリプト" フォルダ内の「 "のviewmodels" を置く:
スクリプト - > NewArea - > ControllerFolder - > viewmodels - > shell.js
スクリプト - > NewArea - > ControllerFolder - > main.js
それから私は、main.js、例えば、デュランダルのJSのパスを変更:
define(['../../../App/durandal/app',
'../../../App/durandal/viewLocator',
'../../../App/durandal/system',
'../../../App/durandal/plugins/router',
'../../../App/services/logger'],
そして、私は次の行にmain.jsを変更:
viewLocator.useConvention('viewmodels', '../Areas/NewArea/Views/ControllerFolder/views');
しかし、フォルダの構成は次のために失敗しましたラインは、その定義における「viewLocator」モジュール様々な時間を呼び出して、デフォルト値を「useConvention」の設定を書き換える:
app.setRoot('viewmodels/shell', 'entrance');
その動作のみ発生したときに、フォルダ「ビュー」 d "ビューモデル"は "Durandal"の "App"フォルダの下にはありません。
同じプロジェクトでさまざまなSPAを使用する方法を教えてください。
ありがとう、あなたの提案のために、多分あなたは私に "bootstrapper"についてのより多くの情報を与えることができます。 – kuskunko