node.js原生http模块写一个基本的web服务器
程序员文章站
2022-05-08 22:51:02
...
// 引入http模块
const http = require('http')
// // 导入 fs 文件系统模块
const fs = require('fs')
//导入 path 路径处理模块
const path = require('path')
// --------------引入结束-------------//
const server = http.createServer()
server.on('request', function (req, res) {
// 设置请求头及默认404页面//
let content = '<h4>404 Not Found</h4>'
let dataStr = null
res.setHeader('Content-Type', 'text/html; charset=utf-8')
//-----设置结束-----//
const url = req.url //当前请求的URL地址
// 把请求的 url 地址,映射为本地文件的存放路径
var fpath = path.join(__dirname, url)
console.log(url);
if (url === '/' || url.indexOf('index.') !== -1) { //判断路径
content = '<h4>首页</h4>'
res.end(content)
} else if (url.indexOf('/ablout') !== -1) {//判断路径
content = '<h4>关于我们</h4>'
res.end(content)
} else if (url.indexOf('/clock') !== -1) {//判断路径
// 4.1 根据映射过来的文件路径读取文件
fpath = fpath + '.html'
fs.readFile(fpath, 'utf8', (err, dataStr) => {
// 4.2 读取文件失败后,向客户端响应固定的 "错误消息"
if (err) return res.end('404 Not Fount')
// 4.3 读取文件成功后,将 "读取成功的内容" 响应给客户端
res.end(dataStr)
})
}
})
上一篇: 一个简单的Flask Web服务器
推荐阅读
-
web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)
-
node.js path url http 模块搭建一个静态web服务器
-
nodeJS 系列二 http 模块 ; 创建 最基本的 web服务器; 模块化开发;模块作用域;
-
node.js原生http模块写一个基本的web服务器
-
使用nodejs、Python写的一个简易HTTP静态文件服务器_node.js
-
node.js path url http 模块搭建一个静态web服务器
-
使用nodejs、Python写的一个简易HTTP静态文件服务器_node.js
-
使用http核心模块构建基本的web服务器