我应该如何在npm包中实现详细日志记录?

时间:2018-11-21 08:23:09

标签: node.js logging npm

我创建了一个npm软件包(供内部使用),可以按以下方式使用。请注意 "nyc": { "all": true, "check-coverage": true, "per-file": true, "lines": 99, "statements": 99, "functions": 99, "branches": 99, **"cwd" : "../",** "exclude" : [ "Tests/**/*.js" ] } 选项。

verboseLogging

我已经将import * as q from 'q' var client = q.createClient({verboseLogging: true}) 实现为许多verboseLogging语句。

当程序包的使用者是NodeJS命令行应用程序时,这很好用,但是当程序包的使用者是浏览器时,效果不佳。

当我在浏览器应用程序中使用此软件包时,我需要执行以下操作以将日志显示给用户:

console.log(...)

是否有更好的方法来启用登录命令行和浏览器均可访问的npm软件包?

1 个答案:

答案 0 :(得分:1)

可能的解决方案之一是检查是否定义了window变量ID。由于它仅在浏览器中显示,因此您可以尝试执行以下操作:

if (typeof window === 'undefined') {
    // we're server side, let console.log as is
} else {
    // browser environment, DOM is accessible, additional logging goes here
}