Node.js statische Dateiserverlogik (mit Connect Middleware)

Angenommen, ich habe die folgende Dateisystemstruktur:

/app/            Main application folder
  /app.js        Server JS file ran by node.js
  /public        Folder containing files for public website (port 80)
    /index.html
    /js/
      /game.js
  /admin/        Folder containing files used by local network system (port X)
    /index.html
    /js/
      /screen.js
  /share/        Folder containing files to be used by public website OR lan
    /js/
      /jquery.js

Das Endergebnis ist dasadmin/index.html würde aussehen wie:

<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/screen.js"></script>

Das heißt, ich lade zwei Dateien von verschiedenen Orten. Grundsätzlich ist der Gedanke hiermsgstr "überprüfen, ob die Datei vorhanden ist/shareWenn nicht, versuchen Sie es aus dem Ordner nach Port zu laden. ".

Und hier ist der aktuelle Code, den ich verwende:

var connect = require('connect'),
    sourcePublic = connect().use(
        connect.static(__dirname + '/public', { maxAge: 86400000 })
    ),
    sourceAdmin = connect().use(
        connect.static(__dirname + '/admin', { maxAge: 86400000 })
    ),
    sourceShare = connect().use(
        connect.static(__dirname + '/share', { maxAge: 86400000 })
    ),
    serverPublic = http.createServer(sourcePublic).listen(80),
    serverAdmin  = http.createServer(sourceAdmin).listen(90);
// ok, how do I use sourceShare?

PS: Dieses System sollte weltweit zugänglich seinhttp://host/ (evtl. eine Domain oder statische IP) UND erreichbar über das lokale Netzwerk überhttp://host:90/.

Während das Zeug an Port 90 das System nicht beschädigt (es ist nur ein Ausgabebildschirm), wäre es mir lieber, wenn die Leute nicht von außen darauf zugreifen könnten (dies ist einfach, wenn sichergestellt wird, dass keine Port 90-Weiterleitung zwischen Router und Server vorhanden ist ).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage