Wykrywanie środowiska: node.js lub przeglądarka
Opracowuję aplikację JS, która musi działać zarówno po stronie klienta, jak i po stronie serwera (w Javascript w przeglądarce i Node.js), i chciałbym móc ponownie wykorzystać części kodu, które są używane dla obu stron.
Dowiedziałem się tegowindow
była zmienną dostępną tylko w przeglądarkach iglobal
w węźle, więc mogę wykryć, w którym środowisku kod jest wykonywany (zakładając, że żaden skrypt nie deklarujewindow
zmienna)
Są to dwa problemy.
Jak powinienem wykryć, w której przeglądarce kod działa. Na przykład, czy ten kod jest OK. (Ten kod jest wbudowany, co oznacza, że jest otoczony przez jakiś globalny kod, ponownie używany dla obu środowisk)
if window?
totalPath= "../examples/#{path}"
else
totalPath= "../../examples/#{path}"
Jak mogę używać zmiennych globalnych dla obu środowisk? Teraz robię co następuje, ale to naprawdę nie jest właściwe.
if window?
window.DocUtils = {}
window.docX = []
window.docXData= []
else
global.DocUtils= {}
global.docX = []
global.docXData = []