スクリプトがノードで実行されているか、ブラウザーで実行されているかを検出する方法の例を見ると、次のようなロジックが表示されます。
if (typeof module !== 'undefined' && module.exports) {
// do something that applies to node
} else {
// do something that applies to browser
}
ノードのドキュメントには、グローバルが であると記載module
されています。これは、常に である必要があること{Object}
を意味します。それはノードで常に正しいですか?そうでない場合は、次のような検出ロジックを実行する方が理にかなっています。typeof module
"object"
if (typeof module === 'object' && module.exports) {
// do something that applies to node
} else {
// do something that applies to browser
}