Sails 的默认视图引擎是 EJS。
要使用不同的视图引擎,您应该使用 npm 在项目中安装它,然后在 config/views.js
中将 sails.config.views.extension
设置为您所需的扩展名,并将 sails.config.views.getRenderFn
设置为一个返回视图引擎渲染函数的函数。
如果您的视图引擎受 Consolidate 支持,您可以在 getRenderFn
中使用它来轻松访问渲染函数。首先,您需要使用 npm 将 consolidate
安装到您的项目中,如果它尚未存在。
npm install consolidate --save
安装完成后并且您已安装视图引擎包,您就可以设置视图配置了。例如,要使用 Swig 模板,您可以执行 npm install swig --save
,然后将以下内容添加到 config/views.js
中
extension: 'swig',
getRenderFn: ()=>{
// Import `consolidate`.
var cons = require('consolidate');
// Return the rendering function for Swig.
return cons.swig;
}
getRenderFn
允许您在将视图引擎插入 Sails 之前对其进行配置。
extension: 'swig',
getRenderFn: ()=>{
// Import `consolidate`.
var cons = require('consolidate');
// Import `swig`.
var swig = require('swig');
// Configure `swig`.
swig.setDefaults({tagControls: ['{?', '?}']});
// Set the module that Consolidate uses for Swig.
cons.requires.swig = swig;
// Return the rendering function for Swig.
return cons.swig;
}