Durandalを使用した小さなSPAテストアプリがあります。また、私は非常に有線の問題を抱えています。まず、私のフォルダー構造は次のとおりです。
App
--durandal
--viewmodels
----user.js
--views
----user.html
--main.js
そして、構造がそのようなものである場合、すべて正常に機能します。
しかし、 App
--durandal
--_user
----viewmodels
------user.js
----views
------user.htmlのような構造を作成すると
localhost/App/_users/ viewmodels /users.html 404 Not Foundのようなエラーが発生します。これは、require.js によって user.js が読み込まれた後に発生します。
私のmain.jsは次のようになります
require.config({
paths: { "text": "../durandal/amd/text" }
});
define(function (require) {
var system = require('../durandal/system'),
app = require('../durandal/app'),
router = require('../durandal/plugins/router'),
viewLocator = require('../durandal/viewLocator'),
logger = require('../logger');
system.debug(true);
app.start().then(function () {
// route will use conventions for modules
// assuming viewmodels/views folder structure
router.useConvention();
// When finding a module, replace the viewmodel string
// with view to find it partner view.
// [viewmodel]s/sessions --> [view]s/sessions.html
// Otherwise you can pass paths for modules, views, partials
// Defaults to viewmodels/views/views.
viewLocator.useConvention();
app.setRoot('viewmodels/shell');
// override bad route behavior to write to
// console log and show error toast
router.handleInvalidRoute = function (route, params) {
logger.logError('No route found', route, 'main', true);
};
});
});
この問題には router.useConvention(); に何か問題があると思います。または viewLocator.useConvention(); を使用します。しかし、そのような行動の理由は単純には見つかりません。
これを解決するための助け、提案、アイデアはありますか?
ありがとう