服务基础HTML
以下部分显示了如何创建一个简单的Web服务器,从文件夹返回HTML文件。
创建一个简单的HTML文件,名为index.html,我们计划返回在服务器上的每个请求GET'/'。
You are looking lovely!
以下代码显示如何向客户端提供静态html文件。
var http = require("http"); var fs = require("fs"); //from www.w3cschool.cnfunction send404(response) { response.writeHead(404, { "Content-Type": "text/plain" }); response.write("Error 404: Resource not found."); response.end(); } var server = http.createServer(function (req, res) { if (req.method == "GET" && req.url == "/") { res.writeHead(200, { "content-type": "text/html" }); fs.createReadStream("./public/index.html").pipe(res); } else { send404(res); } }).listen(3000); console.log("server running on port 3000");
如果启动服务器(运行节点server.js)并在http://localhost:3000上打开浏览器,你将看到我们之前创建的HTML页面。
服务目录
首先,创建一个简单的客户端JavaScript文件,在HTML加载完成后附加到正文。
我们计划从服务器请求此JavaScript文件。
window.onload = function () { document.body.innerHTML += "Talk JavaScript with me"; }
通过在< head>中添加脚本标记,加载客户端JavaScript文件,以修改我们的简单HTML文件。
为了支持这个JavaScript加载,我们需要使用path模块来解析基于request.url属性的文件系统上的文件的路径。
我们还需要看看我们是否有为请求的文件类型注册的MIME类型。
我们必须确保该文件存在,然后尝试从文件系统读取它。
这是向客户端提供文件夹的源代码。
var http = require("http"); var fs = require("fs"); var path = require("path"); // www.w3cschool.cnfunction send404(response) { response.writeHead(404, { "Content-Type": "text/plain" }); response.write("Error 404: Resource not found."); response.end(); } var mimeLookup = { ".js": "application/javascript", ".html": "text/html" }; var server = http.createServer(function (req, res) { if (req.method == "GET") { var fileurl; if (req.url == "/") fileurl = "/index.html"; else fileurl = req.url; var filepath = path.resolve("./public" + fileurl); var fileExt = path.extname(filepath); var mimeType = mimeLookup[fileExt]; if (!mimeType) { send404(res); return; } fs.exists(filepath, function (exists) { if (!exists) { send404(res); return; }; res.writeHead(200, { "content-type": mimeType }); fs.createReadStream(filepath).pipe(res); }); } else { send404(res); } }).listen(3000); console.log("server running on port 3000");