Sails.js 帆:赢得404页';是否不使用默认布局?
在sails.js中,视图文件夹中的所有文件都使用layout.ejs作为模板。Sails.js 帆:赢得404页';是否不使用默认布局?,sails.js,Sails.js,在sails.js中,视图文件夹中的所有文件都使用layout.ejs作为模板。 由于某些原因,404.ejs等错误页面不会使用layout.ejs。 我找不到任何设置,我可以更改它吗? 谢谢 指向存储库的链接(如果需要): Sails v0.10.x使用notFound响应服务404页面,相当于在控制器操作中调用res.notFound()。在api/responses/notFound.js中为您提供了一个默认的响应处理程序,但是您可以自定义它来执行任何您喜欢的操作,包括使用res.v
由于某些原因,404.ejs等错误页面不会使用layout.ejs。 我找不到任何设置,我可以更改它吗? 谢谢 指向存储库的链接(如果需要):
Sails v0.10.x使用
notFound
响应服务404页面,相当于在控制器操作中调用res.notFound()
。在api/responses/notFound.js
中为您提供了一个默认的响应处理程序,但是您可以自定义它来执行任何您喜欢的操作,包括使用res.view()
为404页面提供布局服务。默认代码使用res.render
而不是res.view
,因为默认的404.ejs
有自己的布局
自定义响应的文档是
在Sails v0.9中,如果您希望更新的
404.ejs
使用默认布局,您可以编辑views/404.ejs
文件,然后使用res.view
而不是res.render
。因为我遇到了同样的问题,但由于403错误,我找到了您的帖子。
不幸的是,自Sails 0.11以来,情况发生了变化,这个解决方案不再有效
经过一些研究,解决方案非常简单。只需编辑
api/responses
文件夹中相应的.js
文件(Forbidded.js
,notFound.js
等),在任何返回
调用之前(为什么不在res.status()
之后,mmmh?)添加以下内容:
res.locals.layout='myLayout'代码>
假设您将布局文件命名为myLayout.ejs
如果您喜欢使用默认布局,请将'myLayout'
替换为false
这是:)谢谢你的回答,但结尾的链接似乎断了。