Использовать Jade как движок Durandal View Engine?

Похоже, что 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) находятся рядом в одном каталоге, что отлично работает.


person 7zark7    schedule 10.05.2013    source источник


Ответы (1)


Немного изменив viewEngine, вы можете заставить его загружать и отображать .jade файлы. Обезьяна, исправляющая конфигурацию пути requirejs по умолчанию viewEngine, позволяет Durandal загружать другой движок представления.

Я кое-что собрал здесь, демо можно найти здесь

Надеюсь, это поможет вам в правильном направлении.

person jp10k    schedule 03.09.2013