我构建了一个非常简单的节点服务器,该服务器仅提供HTML文件。以下是 server.js 的代码:
var http = require('http');
var fs = require("fs");
http.createServer(function(request, response) {
if(request.url === "/"){
sendFileContent(response, "index.html", "text/html");
}
else{
console.log("Requested URL is: " + request.url);
response.end();
}
}).listen(3000);
function sendFileContent(response, fileName, contentType){
fs.readFile(fileName, function(err, data){
if(err){
response.writeHead(404);
response.write("Not Found!");
}
else{
response.writeHead(200, {'Content-Type': contentType});
response.write(data);
}
response.end();
});
}
现在,它提供的文件是 index.html ,如下所示:
<!doctype HTML>
<html>
<head>
<title>
My App
</title>
</head>
<body>
<h1>
Hello {{ name }}!
</h1>
</body>
</html>
如果我运行此文件并转到本地主机上的3000端口,则浏览器将加载index.html。
我想做的是一个能够传递参数名称的实现,该名称将出现在{{ name }}
中的模板中。做这样的事情我有什么选择?
请注意,理想情况下,我想要一个独立的解决方案,而不是一个现有的库。另外,如果我必须使用正则表达式,然后查找并替换参数,执行此操作的正确方法是什么?谢谢!