我是Node新手,所以我试图去学习它。我试图在Node中加载一个简单的HTML文件,但是这给了我一个错误,因为当我使用res.write(html)
时HTML没有被定义。我看到了一些与我相似的例子,所以我想知道这里有什么问题。 我写了这个:NodeJS:使用res.write加载html()
const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
fs.readFile('./index.html', (err, html) => {
if(err){
throw err;
}
});
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-type', 'text/html');
res.write(html);
res.end();
});
server.listen(port, hostname,() => {
console.log('Server started on port ' + port);
});
从readFile的回调中移动createServer不是更好吗?这样就没有同步操作,也没有全局变量 - 在Javascript中这两种都被认为是不好的。 – Soren
对不起,延迟@Soren,是的,你说得对。正如我所说,最好的选择是处理“异步-y”的概念并使用回调函数,但是几个月前我处于OP状态,即使它们编程不良,使您的第一个实验工作也始终令人振奋。但是,是的,从良好做法的角度来看,您的proporsal将是最好的选择。 –