Обнаружение среды: node.js или браузер
Я разрабатываю JS-приложение, которое должно работать как на стороне клиента, так и на стороне сервера (в Javascript в браузере и в Node.js), и я хотел бы иметь возможность повторно использовать части кода, которые используется для обеих сторон.
Я узнал, чтоwindow
была переменная, доступная только в браузерах, иglobal
в узле, так что я могу определить, в какой среде выполняется код (при условии, что ни один скрипт не объявляетwindow
переменная)
Это две проблемы.
Как я должен определить, в каком браузере работает код. Например, этот код в порядке. (Этот код встроенный, что означает, что он окружен каким-то глобальным кодом, повторно используемым для обеих сред)
if window?
totalPath= "../examples/#{path}"
else
totalPath= "../../examples/#{path}"
Как я могу использовать глобальные переменные для обеих сред? Сейчас я делаю следующее, но это действительно не правильно.
if window?
window.DocUtils = {}
window.docX = []
window.docXData= []
else
global.DocUtils= {}
global.docX = []
global.docXData = []