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 loader?(例如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) 的约定在同一目录中并排使用,效果很好