node一个简单的web服务器
Posted cuter、
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node一个简单的web服务器相关的知识,希望对你有一定的参考价值。
封装的判断请求的后缀名 common.js
const fs = require('fs')
exports.getMine = function (extname) {
switch (extname) {
case '.css':
return 'text/css'
case '.html':
return 'text/html'
case '.js':
return 'text/javascript'
default:
return 'text/html'
}
}
//异步方法
exports.getFileMime = function (extname) {
return new Promise((resolve, reject) => {
fs.readFile('./data/mime.json', (err, data) => {
if (err) {
console.log(err)
reject(err)
return
}
let mimeObj = JSON.parse(data.toString())
resolve(mimeObj[extname])
})
})
}
//异步方法
exports.getFileMime2 = function (extname) {
var data=fs.readFileSync('./data/mime.json')
let mimeobj=JSON.parse(data.toString())
return mimeobj[extname]
}
web服务器
const http = require('http')
const fs = require('fs')
const commom=require('./module/common')
const url=require('url')
const path=require('path')
let str='http://localhost:3000?name=zs&age=18';
console.log(str.split('?'));
http
.createServer(function (req, res) {
let pathname =url.parse( req.url).pathname
pathname=pathname==='/'?'/index.html':pathname
//获取文件后缀名
let extname=path.extname(pathname)
if (pathname !== '/favicon.ico') {
fs.readFile('./static' + pathname, (err, data) => {
if (err) {
console.log(404)
res.writeHead(404, { 'Content-Type': 'text/html;charset=UTF-8' })
res.end('页面不存在')
}
let mine= commom.getFileMime2(extname)
res.writeHead(200, { 'Content-Type': ''+mine+';charset=UTF-8' })
res.end(data)
})
}
})
.listen(8081)
console.log('Server running at http://127.0.0.1:8081/')
以上是关于node一个简单的web服务器的主要内容,如果未能解决你的问题,请参考以下文章