2 回答

TA貢獻1801條經驗 獲得超16個贊
如果您想有選擇地從快速服務器提供資產,您可以執行以下操作:
let secrets = ['secrets.html', 'my_diary.html']
app.use((req, res, next) => {
let shouldBeAuthorised = secrets.some(s => req.url.includes(s))
if (shouldBeAuthorized)
// check they are authorized to be served this content
else
// just serve the content, carry on... no need to worry
})
app.use(express.static('static'))
我的使用req.url.includes非常不穩定,并且文件列表更復雜,可能會導致您需要對未明確在黑名單中的文件進行授權......但上述代碼的基本結構應該可以實現您正在尋找的內容實現。

TA貢獻1842條經驗 獲得超22個贊
您可以通過創建一個名為 public 的文件夾來解決此問題,您可以將所有 css、js 放在該文件夾中。并使用靜態中間件服務公用文件夾
app.use(express.static('public'))
然后是另一個名為 secret 的文件夾,您將在其中構建路由、驗證 JWT 令牌并根據用戶權限提供 html 文件
添加回答
舉報