Sails 中的預設視圖引擎是 EJS。
若要使用不同的視圖引擎,您應該使用 npm 在您的專案中安裝它,然後在 config/views.js
中將 sails.config.views.extension
設定為您想要的檔案副檔名,並將 sails.config.views.getRenderFn
設定為一個函數,該函數會傳回您的視圖引擎的渲染函數。
如果您的視圖引擎受到 Consolidate 的支援,您可以在 getRenderFn
中使用它來輕鬆存取渲染函數。首先,如果您的專案中還沒有 consolidate
,您需要使用 npm 安裝它
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;
}