[英]Express.js Route orgainisation
當我設置一些路線時,我通常這樣做:
app.get('/x', function(req, res) {
res.sendFile(path.join(__dirname + '/public/.../index.html'));});
問題是如果路由文件夾中包含JS或CSS,則無法托管它們。
所以我經常加
app.get('/public/.../js/index.js', function(req, res) {res.sendFile (__dirname + '/public/.../js/index.js');});
app.get('/public/.../css/style.css', function(req, res) {res.sendFile (__dirname + '/public/.../css/style.css');});
在Route下方,以使JS和CSS易於訪問。
我已經托管了表達靜態的圖書館
app.use('/lib', express.static('lib'));
但這對於Route文件夾(/public/.../js)中的JS和CSS是不可能的
- 有沒有更好的方法來組織路徑文件夾中的文件?
您可以使用虛擬路徑,保持當前目錄結構,添加以下路由,然后可以從./public子目錄下引用所有帶有/ static前綴的靜態文件:
app.use('/static', express.static('public'))
例如,您將可以參考http://your_server/static/public/.../js/index.js 。 請注意,在這種情況下,/ public下的所有文件都可以通過/ static前綴訪問,因此您不應在其中擁有服務器代碼或服務器配置。
理想情況下,為清晰起見,您應該從一個根文件夾中托管所有類型為子文件夾的靜態文件,並引用這些子文件夾(例如/ static / js,/ static / css):
app.use('/static', express.static('static'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.