Open geqianqian-shihan opened 4 years ago
//请求Node.js自带的http模块。 const http = require('http'); const fs = require('fs'); const mimeModel = require('./getMime'); const path = require('path'); // 加载path模块 const url = require('url'); // 加载url模块 var server = http.createServer(function(req, res){ res.setHeader("Content-Type","text/html; charset=utf-8"); let pathName = url.parse(req.url).pathname; // 解析请求地址不带参数 if (pathName == '/') { pathName = '/index.html'; // 如果请求地址为空,则加载首页 } let extName = path.extname(pathName); // 获取请求文件的后缀名 if (pathName != '/favicon.ico') { // 当不请求 页面图标时 // Web 为静态资源文件夹 fs.readFile('Web/' + pathName, (err, data) => { // 读取对应文件 if (err) { // 如果没有找到文件 res.write('404 !!!'); }else{ let mime = mimeModel.getMime(extName); // 根据对应的后缀名,获取对应的文件格式 res.writeHead(200, {'Content-Type': ""+ mime + ";charset=utf-8'"}); // 设置请求状态及表头 res.write(data); // 读取数据 res.end(); // 结束响应 } }) return false; } }); //这个对象有个叫做listen的方法,这个方法可以有个数值参数。 //指定这个HTTP服务器监听的端口号。 //当我们打开http://localhost:8080的时候,服务器就会接收数据,并且响应数据 server.listen(9999); // getMime.js const getMime = (extname) => { switch (extname) { case '.html': return 'text/html'; case '.css': return 'text/css'; case '.js': return 'text/javascript'; default: return 'text/html'; } } module.exports = { getMime }
一、使用 node 简单搭建 web 静态服务器