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
做的事情!