我想在我的网站上显示维护页面。我计划将一个布尔值保存到数据库,以控制何时显示页面。如何仅为控制器路径显示维护页面?我想继续让sails正常提供脚本,样式表和图像。
答案 0 :(得分:3)
您可以使用政策来实现这一目标。
// api/policies/inMaintenance.js
module.exports = function(req, res, next) {
var maintenanceMode = ... // get the value
if (maintenanceMode) return res.view('maintenance');
next();
}
// config/policies.js
module.exports.policies = {
'*': 'inMaintenance',
...
}
在views
文件夹中添加maintenance.ejs
所有资产仍然可用。
这种方法有一个缺点,如果在config/routes.js
中你有一条直接指向视图的路线,它将不会通过该策略。因此,您需要所有路由都由控制器处理。
您可以查看Sails documentation on policies以更好地了解它们的工作原理。