2014-02-17 29 views
3

我想將默認Swig tagControls {%...%}更改爲{? ...?}我正在使用sails.js框架。Swig模板引擎和Sails.js - 如何更改tagControls

我添加到config文件夾swig.js文件,其中包含:

module.exports.swig = { 

    SwigOpts: { 
    'tagControls': ['{?', '?}'] 
    } 

}; 

但它不工作,查看在瀏覽器中是這樣的:

{? for user in users ?} 
{? user.email ?} 
{? endfor ?} 

所以,標籤WASN沒有解釋。我的配置文件錯了嗎?標準標籤{%... &}正常工作。

+0

你重新啓動服務器改變配置後? –

+0

當然,有幾次。 –

+0

沒有違法 - 只要確保明顯被覆蓋。基於文檔,看起來應該工作...(我知道這不是完全有用的)。 –

回答

6

像這樣的東西應該工作:在你的config/views.js

engine: { 
    ext: 'swig', // Or `html`, whatever you are using 
    fn: function (pathName, locals, cb) { 
    var swig = require('swig'); 
    swig.setDefaults({tagControls: ['{?', '?}']}); 
    return swig.renderFile(pathName, locals, cb); 
    } 
}, 

至於config/swig.jsmodule.exports.swig,我不認爲它是被自動處理。

+0

謝謝,它的工作原理! –

0

,如果有人需要改變景觀VAR和我一樣(是更好地痛飲和角工作)只需要更改或添加varControls到配置對象

engine: { 
    ext: 'swig', 
    fn: function (pathName, locals, cb) { 
    var swig = require('swig'); 
    swig.setDefaults({varControls: ['[[', ']]']}); 
    return swig.renderFile(pathName, locals, cb); 
    } 
} 
+0

這很多不是問題的答案,但是我發現這很有用,因爲我在我的Sails應用程序中使用了Angular和Swig(並且不想在任何地方繼續輸入逐字/原始標籤) –