2013-05-10 48 views
4

迪朗達爾看起來像它支持自定義視圖引擎: 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文件)爲公約並排側在同一個目錄,工作正常

回答

2

通過稍微修改viewEngine你可以把它加載和渲染.jade文件。猴修補requirejs路徑配置爲默認viewEngine允許迪朗達爾加載不同的視圖引擎。

我耳光的東西一起here,演示可以發現here

希望這可以幫助您在正確的方向。

+0

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