1
比方說,我有以下文件系統結構:Node.js的靜態文件服務器邏輯(使用連接中間件)
/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
會是什麼樣子:
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/screen.js"></script>
也就是說,我從不同位置加載兩個文件。基本上,這裏的想法是「檢查文件是否在/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:90/
本地網絡是全球訪問通過http://host/
(可能是一個域或靜態IP)和訪問。
儘管端口90上的東西不會損害系統(它只是一個輸出屏幕),但我寧願如果人們無法從外部訪問它(通過確保不存在端口90轉發在路由器和服務器之間)。
可愛。我知道「使用()」比使用眼睛還要多。看起來蒂姆在這裏做得很好。 – Christian
最後一個問題,所以堆棧首先處理底部,是否正確? – Christian
不,它從上往下工作......所以你首先「使用」的那個將首先得到invoced。 – DeadAlready