dome-http
v1.0.0
Published
```js // const http = require('http'); // const path = require('path'); // const fs = require('fs'); // const mime = require('mime'); // http.createServer((req, res) => { // let publicDir = path.join(__dirname, 'public', req.url); // fs.rea
Downloads
2
Readme
// const http = require('http');
// const path = require('path');
// const fs = require('fs');
// const mime = require('mime');
// http.createServer((req, res) => {
// let publicDir = path.join(__dirname, 'public', req.url);
// fs.readFile(publicDir, (err, data) => {
// if (err) {
// res.end('404 错误')
// } else {
// res.setHeader('Content-type', mime.getType(publicDir));
// res.end(data);
// }
// })
// }).listen(8080, () => {
// console.log('http:localhost:8080');
// })
// 载入 http 模块
const http = require('http');
// 载入fs模块
const fs = require('fs');
// 载入 path 模块
const path = require('path');
// 载入 url 模块
const url = require('url');
// 载入 mime 模块
const mime = require('mime');
// 创建服务
http.createServer((req, res) => {
// 获取请求的完整路径名
let pathname = url.parse(path.join(__dirname, 'public', req.url)).pathname;
// 设置响应头
res.setHeader('Content-type', mime.getType(pathname));
// 判断如果请求的是根目录
if (req.url === '/') {
// 请求的路径就是 首页的路径
pathname = __dirname + 'public/index.html';
}
// 判断请求的路径对应的文件是否存在
if (fs.existsSync(pathname)) {
// 存在的话就响应
res.end(fs.readFileSync(pathname));
} else {
// 判断请求的路径没有后缀名
if (path.extname(pathname) === '') {
// 响应
res.end('呵呵呵呵呵呵呵呵呵呵');
return;
}
// 响应404页面
res.end(fs.readFileSync('public/404.html'));
}
}).listen(8080, () => {
console.log('http:localhost:8080');
})