2016-10-10 76 views
-1

我想創建一個nodejs服務器 - 我以前設法 - 沒有HTML頁面。不過,爲了這個任務,我需要將它直接指向RedGreenBlue.html。我真的很掙扎,任何建議將不勝感激。鏈接HTML頁面到NodeJS服務器 - 不會加載爲本地主機?

非常感謝

JS服務器

var http = require('http'), 
fs = require('fs'); 

fs.readFile('./RedGreenBlue.html', function (err, html) { 
    if (err) { 
    throw err; 
    }  
    http.createServer(function(request, response) { 
    response.writeHeader(200, {"Content-Type": "text/html"}); 
    response.write(html); 
    response.end(); 
    }).listen(8000); 
}); 
+3

您能描述一下當前行爲與預期行爲之間的關係嗎?目前還不清楚你的代碼是否適合你。 – Jacob

+0

對不起 - 我輸入'node ServerRedBlueGreen.js'到nodejs控制檯並沒有任何反應,因爲沒有發生任何錯誤。當我嘗試加載本地主機時,我只是收到一條錯誤消息,說它拒絕響應。 – Anniee

+0

這對我有用(提供'RedGreenBlue.html'實際存在)。你確定它確實嗎? – Jacob

回答

0

你看不到任何東西,因爲沒有輸出stdout在您的應用程序(例如,沒有console.log)。因此,當您通過node ServerRedBlueGreen.js執行應用程序時,它會讀取定義的文件並打開端口8000.您可以通過此端口通過HTTP與應用程序通信。

因此打開另一個shell並執行curl http://localhost:8000,你應該看到一個響應。您也可以在瀏覽器中打開網址。

希望我能以某種方式提供幫助:)

+0

我不知道我明白這一點 - 爲什麼我需要'console.log?'上面的@jacob已經設法讓他爲他工作。 – Anniee

+0

不,這只是關於您的問題的解釋,爲什麼應用程序不輸出任何內容。你的代碼正在工作。我認爲您在嘗試訪問瀏覽器中的應用程序時錯過了端口。正確的URL是http:// localhost:8000 – notion

+0

也許會有困惑,因爲我沒有提到'RedGreenBlue.html'要在瀏覽器中打開,而不是在控制檯中打開。 – Anniee

相關問題