Sails.js 帆:赢得404页';是否不使用默认布局?

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

在sails.js中,视图文件夹中的所有文件都使用layout.ejs作为模板。
由于某些原因,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


这是:)

谢谢你的回答,但结尾的链接似乎断了。