Node.js 如何在sailsjs应用程序中使用pretty error?

Node.js 如何在sailsjs应用程序中使用pretty error?,node.js,sails.js,Node.js,Sails.js,必须这样设置: require('pretty-error').start(function(){ startTheApp(); }); 由于我现在不知道sailsjs从何处启动应用程序,我已经在config/bootstrap.js上尝试过了: module.exports.bootstrap = function (cb) { require('pretty-error').start(cb) } 但它不起作用 有什么指导原则吗?对于简单的节点程序来说,非常容易使用pretty

必须这样设置:

require('pretty-error').start(function(){
  startTheApp();
});
由于我现在不知道sailsjs从何处启动应用程序,我已经在
config/bootstrap.js
上尝试过了:

module.exports.bootstrap = function (cb) {
  require('pretty-error').start(cb)
}
但它不起作用


有什么指导原则吗?

对于简单的节点程序来说,非常容易使用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]));

这将解决控制器和型号中的错误。

谢谢!!成功了。注意:为了让它工作,我必须用
node应用程序启动应用程序,而不是
sails lift
interest。为我在v0.10-rc4上使用
帆式升降机
。但是不管怎样,你可以用
node app.js
做任何你可以用
sails lift
做的事情!