我有一个可以在浏览器和NodeJS中使用的javascript类。
假设类看起来像这样
class BarFoo {
lookup() {
// Do magic
if (magicFailed && window.DEVELOP) {
console.log('Show some info to help debugging...');
}
}
...
}
为了使该示例也适用于NodeJS,我可以想象
global
在此示例中,仅在应用程序处于开发模式(
window.DEVELOP === true
)时显示日志消息。但是我也想在nodeJS应用程序中使用此类,所以我没有window
对象。为这两者设置的首选方式是什么? 最佳答案
您可以这样做:
通过以下方式启动您的应用:
NODE_ENV=development node app.js
然后像这样检查它:
const isServer = typeof window === 'undefined'
const isDev = isServer ? process.env.NODE_ENV === 'development' : window.DEVELOP
if (isDev) {
// ...
}