Durandal看起来支持自定义视图引擎: http://durandaljs.com/documentation/View-Engine/
但我很难理解要更改的内容或添加使用Jade模板作为我的Durandal视图引擎(客户端,未在服务器上呈现)
是否应该在Durandal源中完全重写viewEngine.js实现? (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)和viewmodels(.js)的约定在同一目录中并排,这很好用