Логика статического файлового сервера 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 между маршрутизатором и сервером).