node--静态服务器
2024-09-15 15:47:03
1、同步读取文件
const data = fs.readFileSync('./model/mime.json');
// 这里是添加了可以正常链接其他格式文件的服务器
const http = require('http')
const url = require('url')
const fs = require('fs')
const path = require('path')
const mimeModel = require('./model/getmimefromfile') http.createServer((req, res) => {
// 只取路径,不要后面的查询字符串
let pathName = url.parse(req.url).pathname // 过滤无效请求
if (pathName === '/') {
//默认加载首页
pathName = '/index.html'
} //获取文件后缀名
const extname = path.extname(pathName) if (pathName !== '/favicon.ico') {
// 文件操作引入static下的相应文件 //静态托管文件
fs.readFile('static/' + pathName, (err, data) => {
if (err) {
// 错误处理
fs.readFile('static/404.html', (err, data) => {
res.writeHead(200, {
'Content-Type': "text/html;charset=utf8"
})
res.write(data)
res.end()
})
} else {
// 记得设置相应头
let mime = mimeModel.getMime(fs, extname)
console.log(mime)
res.writeHead(200, {
"Content-Type": mime + ";charset='utf8'"
})
res.write(data)
res.end()
}
})
}
}).listen(8080, () => {
console.log('server is running')
})
最新文章
- IDEA开发多项目的示例
- 一个TextView内显示不同颜色的文字
- paper 100:何恺明经典去雾算法
- 41. Unique Binary Search Trees &;&; Unique Binary Search Trees II
- 关于陈冰、陈良乔以及《我的第一本C++书》【转】
- Exact Change(背包HDU2753)
- 有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
- std::remove
- ThinkPad E40无线网卡驱动安装 FOR CENTOS6.3
- AngularJS Filter用法详解【转+实际测试】 格式化货币
- 网页解析Jsoup简单使用
- Openstack本学习笔记——Neutron-server服务加载和启动源代码分析(三)
- 💈 线程间互访助手类 (EN)
- java中不定参数的使用
- Docker 从入门到放弃(二)容器使用
- 一个数学不好的菜鸡的快速沃尔什变换(FWT)学习笔记
- selenium如何定位同级节点
- Real-time qPCR So Easy?
- In-Place upgrade to Team Foundation Server (TFS) 2015 from TFS 2013Team Foundation Server TFS TFS 2015 TFS upgrade TFS with Sharepoint
- 从hs_strcpy谈安全——缓冲区溢出