Lógica do servidor de arquivos estáticos do Node.js (usando o Connect middleware)

Digamos que eu tenha a seguinte estrutura de sistema de arquivos:

/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

O resultado final é queadmin/index.html pareceria:

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

Ou seja, estou carregando dois arquivos de diferentes locais. Basicamente, o pensamento aqui é"verificar se o arquivo está em/share, se não, tente carregá-lo da pasta de acordo com a porta ".

E aqui está o código atual que estou usando:

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: Este sistema deve ser acessível ao mundo através dehttp://host/ (possivelmente um domínio ou ip estático) E acessível através da rede local através dehttp://host:90/.

Embora o material na porta 90 não danifique o sistema (é apenas uma tela de saída), prefiro que as pessoas não consigam acessá-lo externamente (facilmente garantindo que não haja encaminhamento de porta 90 entre o roteador e o servidor ).

questionAnswers(1)

yourAnswerToTheQuestion