Tue,29 Jul 2014 21:52:17 GMT morgan弃用了未定义的格式:在node_modules指定格式\ kraken-js \ node_modules \ meddleware \ index.js:98:20 星期二,29七月2014 21:52:17 GMT morgan弃用默认格式:在node_modules \ kraken-js \ node_modules \ meddleware \ index.js:98:20使用组合格式
安装新的kraken js项目后,启动应用程序时会记录此错误两次。它不会杀死应用程序,但是在没有做任何事情的情况下发生错误非常烦人。
搜索此问题只会显示morgan releases page,他们不推荐使用空/默认格式。
该方法的实际调用是在第98行的node_modules \ kraken-js \ node_modules \ meddleware \ index.js中完成的(显然),但我老实说不确定参数应该是什么而不是它们现在是什么
那么,是否有人遇到/修复了这个?
答案 0 :(得分:4)
更清洁的解决方案是直接在您的应用程序中配置morgan。您可以通过将以下块添加到中间件配置来执行此操作:
"logger": {
"module": {
"name": "morgan",
"arguments": [
"dev"
]
}
}
我使用' dev'开发中的格式和“组合”#39;否则格式化。 (可选)您可以将options对象添加为arguments数组中的另一个元素,该元素将接受其存储库自述文件中列出的任何Morgan选项。
答案 1 :(得分:1)
所以在kraken-js / node_modules / meddleware / index.js的第97行,我更改了这一行:
args = thing.isArray(config['arguments']) ? config['arguments'] : [];
到此:
args = thing.isArray(config['arguments']) ? config['arguments'] : ['combined'];
它不再抛出错误。问题是我不认为这是正确的解决方案,但似乎有效。该应用程序显然正在侦听端口并按照我的预期进行响应。因此,如果有人找到更好的解决方案,请告诉我。否则,这似乎是目前的答案。