使用Jade作为Durandal视图引擎?

问题描述:

迪朗达尔看起来像它支持自定义视图引擎: http://durandaljs.com/documentation/View-Engine/使用Jade作为Durandal视图引擎?

,但我有一个很难理解什么改变或增加使用玉模板,因为我迪朗达尔视图引擎(客户端,而不是呈现在服务器上)

应该做一个在迪朗达尔源viewEngine.js实现的全部重写? (https://github.com/BlueSpire/Durandal/blob/master/App/durandal/viewEngine.js

还是有更简单的方法,如添加玉作为requirejs装载机? (例如https://github.com/rocketlabsdev/require-jade

任何帮助,将不胜感激。

编辑:我曾尝试上述requirejs插件添加到迪朗达尔,并通过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文件)为公约并排侧在同一个目录,工作正常

通过稍微修改viewEngine你可以把它加载和渲染.jade文件。猴修补requirejs路径配置为默认viewEngine允许迪朗达尔加载不同的视图引擎。

我耳光的东西一起here,演示可以发现here

希望这可以帮助您在正确的方向。

+0

哇 - 真棒工作哥们,谢谢! :-) – 7zark7 2013-09-05 02:29:34