2017-10-14 200 views
0

我試圖在localhost中設置HTTPS服務器,但是我不知道如何在服務器運行時呈現html文件。下面是我的代碼:HTTPS使用Node Js呈現html文件

var https = require('https'); var fs = require('fs'); 

var options = { key: fs.readFileSync('client-key.pem'), 
       cert: fs.readFileSync('client-cert.pem') }; 

var a = https.createServer(options, function (req, res) { 
     console.log('Server is starting');   
     res.writeHead(200);            
    // res.end("hello world\n"); 
     res.render('index.html'); 

}).listen(8000); 

我可以訪問到本地主機,但每當我試圖呈現一個HTML文件,我得到了一個錯誤信息「.render()是不是一個函數」,什麼是另類在服務器運行時調用一個html文件。任何幫助表示讚賞!

回答

1

你需要使用文件系統。 這樣,您將準備好文件,它裏面存儲和content完整的HTML文件發送到客戶

var fs = require('fs'); 

fs.readFile('./index.html', function (error, content) { 
    if (error) { 
     response.writeHead(500); 
     response.end('Error'); 
    } else { 
     response.writeHead(200, { 'Content-Type': 'text/html' }); 
     response.end(content, 'utf-8'); 
    } 
}); 

您不必在純在的NodeJS功能render。如果你想使用它,你可以使用expressjs。

我寫的代碼需要在裏面你createServer功能

+0

嗨,這些代碼工作對我來說,太感謝你了!謝謝!! – JackPowell