如何在sailsjs应用程序中使用漂亮的错误?
漂亮的错误必须像这样设置:
require('pretty-error').start(function(){ startTheApp(); });
因为我现在没有sailsjs启动应用程序,所以我在config/bootstrap.js
上试过这个:
module.exports.bootstrap = function (cb) { require('pretty-error').start(cb) }
但它不工作。
任何指导方针?
pretty-error
对于简单的节点程序来说非常容易使用,你可以在callback中包装整个东西,但是对于更大的应用程序来说,有点麻烦。 如果您想在Sails v0.10中完全覆盖pretty-error
,可以执行以下操作:
首先,在您的根app.js
文件中,将sails.lift(rc('sails'))
包装sails.lift(rc('sails'))
:
require('pretty-error').start(function(){ // Start server sails.lift(rc('sails')); });
这会处理你的控制器代码之外的错误(例如你的bootstrap.js
错误)。
其次,在你的api/responses/500.js
,需要在顶部pretty-error
,然后replacesails.log.error(errorToLog);
有:
var pe = new PrettyError(); console.log(pe.render(errorsToDisplay[i].original ? errorsToDisplay[i].original : errorsToDisplay[i]));
这应该处理您的控制器和模型中的错误。