Похоже, что Durandal поддерживает настраиваемые механизмы просмотра: http://durandaljs.com/documentation/View-Engine/< /а>
Но мне трудно понять, что нужно изменить или добавить, чтобы использовать шаблоны Jade в качестве моего механизма просмотра Durandal (на стороне клиента, а не на сервере)
Следует ли полностью переписать реализацию viewEngine.js в исходниках Durandal? (https://github.com/BlueSpire/Durandal/blob/master/App/durandal/viewEngine.js)
Или есть более простой подход, такой как добавление jade в качестве загрузчика requirejs? (например, https://github.com/rocketlabsdev/require-jade)
Любая помощь будет оценена по достоинству.
Редактировать: я попытался добавить вышеуказанный плагин requirejs в Durandal и настроить через main.js:
requirejs.config({
paths: {
...
'jade': 'durandal/amd/jade'
}
});
...
var viewEngine = require('durandal/viewEngine');
viewEngine.viewExtension = ''; // Using .jade here results in requests for SomeView.jade.jade
viewEngine.viewPlugin = 'jade';
Но у локатора представления, похоже, есть проблемы, и он не уверен, как его настроить с этой настройкой. Обратите внимание: я использую соглашение о том, что представления (.html) и модели представления (.js) находятся рядом в одном каталоге, что отлично работает.