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