【发布时间】:2017-07-21 15:40:39
【问题描述】:
我对此很陌生。我创建了一个在本地运行的 node-express 服务器。我在public\html 文件夹下有一个index.html。当我访问那个索引页面时,我收到了一个错误Can't render headers after they are sent to the client node server error。我的理解是,如果url是localhost:8080加上/,会渲染index.html?我该如何解决这个问题?非常感谢!
ps:奇怪的是,当我将 index.html 从“public”文件夹移出到与节点 server.js 相同的目录并更改为 app.get('/', function (req, res {fs.readFile('/index.html'.. 时,index.html 似乎工作正常。
var fs = require('fs');
var http = require('http');
var https = require('https');
var request = require('request');
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var path = require('path');
var express = require('express');
var app = express();
var certificate = fs.readFileSync( 'something.0.0.1.cert' );
var privateKey = fs.readFileSync('something.0.0.1.key');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
app.use(express.static(__dirname+'/public'));
app.get('/', function (req, res) {
fs.readFile('__dirname + '/public'+ '/html'+/index.html', function(error, content) {
if (error) {
res.writeHead(500);
res.end();
}
else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(content, 'utf-8');
}
});
res.send('Hello World');
});
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(8080,'0.0.0.0');
【问题讨论】:
标签: javascript html node.js express server