Umgebungserkennung: node.js oder Browser

Ich entwickle eine JS-App, die sowohl auf der Client-Seite als auch auf der Server-Seite funktionieren muss (in Javascript in einem Browser und in Node.js), und ich möchte die Teile des Codes wiederverwenden können, die vorhanden sind für beide Seiten verwendet.

Ich habe das herausgefundenwindow war eine Variable, auf die nur über Browser zugegriffen werden kann, undglobal in node, damit ich erkennen kann, in welcher Umgebung der Code ausgeführt wird (vorausgesetzt, dass kein Skript das deklariert)window Variable)

Das sind zwei Probleme.

Wie soll ich feststellen, in welchem ​​Browser der Code läuft? Ist dieser Code beispielsweise OK? (Dieser Code ist inline, was bedeutet, dass er von einem globalen Code umgeben ist, der für beide Umgebungen wiederverwendet wird.)

if window?
    totalPath= "../examples/#{path}"
else
    totalPath= "../../examples/#{path}"

Wie kann ich globale Variablen für beide Umgebungen verwenden? Jetzt mache ich Folgendes, aber das fühlt sich wirklich nicht richtig an.

if window?
    window.DocUtils = {}
    window.docX = []
    window.docXData= []
else
    global.DocUtils= {}
    global.docX = []
    global.docXData = []

Antworten auf die Frage(4)

Ihre Antwort auf die Frage