2017-04-13 230 views
1

我對NodeJs非常陌生。我在NodeJS中使用express模塊​​並嘗試通過sendFile命令加載html文件。雖然這樣做我的第一個sendfile命令工作正常,但它不適用於第二個sendFile命令。任何人都可以讓我知道這裏出了什麼問題?NodeJS - res.sendFile給出了html代碼,但沒有加載/呈現html

var express = require('express'); 

var app = express(); 
var path = require('path'); 

app.use(express.static(path.join(__dirname, 'public'))); 

app.get('/', function(req, res){ 
    res.sendFile(path.join(__dirname, 'public/index.html')); 
}); 

app.get('/unpack', function(req, res){ 
    res.sendFile(path.join(__dirname, 'public/main.html')); 
}); 

在上面的代碼下面的行工作得很好

res.sendFile(path.join(__dirname, 'public/index.html')); 

問題在於

res.sendFile(path.join(__dirname, 'public/main.html')); 
+0

你試圖通過CONSOLE.LOG'path.join這樣形成的路徑(__目錄名稱, '公共/ main.html中')'實際上是HTML文件的正確路徑。 – warl0ck

+0

我不認爲首先'sendFile'(for'/')會被擊中,因爲它的請求很可能會被'express.static()'服務。另外,_「不能很好地工作」_是相當模糊的問題描述... – robertklep

+0

@robertklep:抱歉模糊的問題描述。它不呈現該HTML。然而res.sendFile(path.join(__ dirname,'public/index.html'));代碼很好地呈現了index.html頁面。 –

回答

1

感謝@ warl0ck和@robertklep您的回覆。正如評論部分提到的@robertklep,我的問題是我使用AJAX調用/解壓縮,因此我得到的響應爲html代碼。這有助於我理解問題,並將AJAX更改爲其他內容。

再次感謝@ warl0ck和@robertklep!

-kt