如何显示维护页面?

时间:2015-02-08 06:41:27

标签: sails.js

我想在我的网站上显示维护页面。我计划将一个布尔值保存到数据库,以控制何时显示页面。如何仅为控制器路径显示维护页面?我想继续让sails正常提供脚本,样式表和图像。

1 个答案:

答案 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以更好地了解它们的工作原理。