如何显示维护页面



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

您可以使用策略来实现这一点。

// 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文档,以更好地了解它们的工作方式。

最新更新