Swig模板引擎和Sails.js - 如何更改tagControls

时间:2014-02-17 13:30:12

标签: node.js sails.js swig-template

我想将默认Swig tagControls {%...%}更改为{? ...?}我正在使用sails.js框架。

我添加到配置文件夹swig.js文件,其中包含:

module.exports.swig = {

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

};

但它不起作用,浏览器中的视图如下所示:

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

所以,标签没有被解释。我的配置文件错了吗?标准代码{%...&}工作正常。

2 个答案:

答案 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,我认为它不会自动处理。

答案 1 :(得分:0)

如果有人需要像我一样更改scape var(最好使用swig和angular),只需要更改或添加varControls到配置对象

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