Swig模板默认扩展名

我可以设置什么扩展名? 例如:

.html or .htm 

我可以设置一些布局的自定义扩展? 喜欢:

  .xml 

Swig不关心/了解扩展。 你可以尝试写一个自定义的加载器为你做这个。 只需复制文件系统加载程序,并检查给定的path是否包含扩展名,如果是,请使用默认值。

 var fs = require('fs'), path = require('path'); module.exports = function (basepath, encoding) { var ret = {}; encoding = encoding || 'utf8'; basepath = (basepath) ? path.normalize(basepath) : null; ret.resolve = function (to, from) { if (basepath) { from = basepath; } else { from = (from) ? path.dirname(from) : process.cwd(); } return path.resolve(from, to); }; ret.load = function (identifier, cb) { if (!fs || (cb && !fs.readFile) || !fs.readFileSync) { throw new Error('Unable to find file ' + identifier + ' because there is no filesystem to read from.'); } // Start of added code... var extension = path.extname(identifier); if (!extension) { // Set this to whatever you want as a default // If the extension exists, like 'foo.xml', it won't add the '.html' identifier += '.html'; } // End of added code identifier = ret.resolve(identifier); if (cb) { fs.readFile(identifier, encoding, cb); return; } return fs.readFileSync(identifier, encoding); }; return ret; };