pretty-error必须像这样设置:
require('pretty-error').start(function(){
startTheApp();
});
由于我现在没有sailsjs启动应用程序的地方,我在config/bootstrap.js
尝试了这个:
module.exports.bootstrap = function (cb) {
require('pretty-error').start(cb)
}
但它不起作用。
任何指南?
答案 0 :(得分:2)
pretty-error
非常容易用于简单的节点程序,你可以在回调中包装整个事物,但对于更大的应用程序来说有点棘手。如果您希望在Sails v0.10中完全覆盖pretty-error
,则可以执行以下操作:
首先,在您的根app.js
文件中,像这样包装sails.lift(rc('sails'))
:
require('pretty-error').start(function(){
// Start server
sails.lift(rc('sails'));
});
这会处理控制器代码之外的错误(例如bootstrap.js
中的错误)。
其次,在您的api/responses/500.js
中,在顶部需要pretty-error
,然后将sails.log.error(errorToLog);
替换为:
var pe = new PrettyError();
console.log(pe.render(errorsToDisplay[i].original ? errorsToDisplay[i].original : errorsToDisplay[i]));
这应该处理控制器和模型中的错误。