Логика статического файлового сервера Node.js (с использованием промежуточного программного обеспечения Connect)

Позволять'скажем, у меня есть следующая структура файловой системы:

/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

Конечным результатом является то, чтоadmin/index.html будет выглядеть так:



То есть ям загрузки двух файлов из разных мест. В основном, мысль здесь "проверьте, находится ли файл в/share, если нет, попробуйте загрузить его из папки в соответствии с портом ".

И здесь'текущий код, который ям с помощью:

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: Эта система должна быть доступна черезhttp://host/ (возможно домен или статический ip) И доступ через локальную сеть через.http://host:90/

В то время как материал на порт 90 выигралне повредить систему (этопросто экран вывода) яЛучше, если люди не смогут получить к нему доступ извне (это легко сделать, обеспечив переадресацию порта 90 между маршрутизатором и сервером).

Ответы на вопрос(1)

Ваш ответ на вопрос