大家都是知道nodejs是用前端的语言去写后端的东西,那么如何用nodejs去搭建一个简单的静态web服务器呢?(相较于前一版,更为简单)
- 首先要建立一个项目的基本框架(model为自定义的模块 node_modules为依赖包 static为静态网页的项目源文件 app.js为入口js文件)

- 然后进行项目的初始化 (生成了 package.json文件 包含npm包的所有信息)
cnpm init

- 下一步去写服务器的各个模块
//app.js
//定义了服务器http模块 去server.js中具体写服务器代码(模块化的引用)
const http = require("http");
let server=require("./model/server");
http.createServer(server).listen(8100, "localhost", () => {//端口号为8100 localhost为标准主机名
console.log("127.0.0.1:8100");//本地的IP
});
//server.js 在model文件夹中
//导入url模块 fs模块 path模块
const url = require("url");
const fs = require("fs");
const pathmodule = require("path");
// 一个文件包 包括了大部分的格式和对应的后缀名
let mime = require("./mime.json");
//暴露方法 req为发出值 res为返回值
module.exports = (req, res) => {
let path = url.parse(req.url);
let pathname = path.pathname;
// 剔除对favicon.ico 的请求 页面标签的小图标(百度搜了一下 具体叫网站头像)
if (pathname != "/favicon.ico") {
//加载首页 当/ 时即为首页
if (pathname == "/") {
pathname = "index.html";
}
let hame = pathmodule.extname(pathname);
let extname = mime[hame];//取出文件的格式名
res.writeHead(200, {//对不同的文件 写不同的请求头 实现全文件类型的读取
"Content-Type": `${extname};charset=utf-8`
});
// 读文件
fs.readFile("static/" + pathname, (err, data) => {
if (err) {
throw err;
}
//写文件
res.write(data);
res.end();
});
}
}
最后是mine.json文件 在model文件夹中
https://www.npmjs.com/package/mime.json 可以去安装下载 就是那个index.json文件其实
大功告成
本文详细介绍使用Node.js创建一个简单静态Web服务器的过程。从项目框架搭建到初始化,再到核心代码实现,包括HTTP服务器设置、URL解析、文件读取及响应头配置,最终实现全类型文件读取。
1931

被折叠的 条评论
为什么被折叠?



