我有一个可以在浏览器和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) {
  // ...
}

09-30 12:29