Node.js通过URL读取本地文件实现

作者:岩茶时间:2026-10-23 22:38:17浏览:377

本文介绍如何使用Node.js的http、fs和path模块,创建HTTP服务器并根据URL路径读取本地文件。通过判断req.url,分别返回node.html或banner.json内容,否则输出错误提示,提供完整代码示例供参考。

Node.js通过URL读取本地文件实现

本文分享Node.js根据URL路径读取本地文件的具体实现代码,供开发者参考。

当在浏览器访问127.0.0.1:3000时,系统读取node.html文件;访问127.0.0.1:3000/node时同样读取node.html;而访问127.0.0.1:3000/banner时,则读取banner.json文件。

准备工作

准备工作

首先在www目录下创建两个文件:node.html和banner.json,并分别写入相应内容。

Node.js通过URL读取本地文件实现

代码实现步骤

1、新建01.js文件并导入模块


let fs = require("fs");
let path = require("path");
let http = require("http");

2、开启http服务


let server = http.createServer();
 
server.on("request",function (req,res) {
 
});
server.listen(3000);

3、读取文件路径


function readFile(req, res ,address) {
 let str = path.join(__dirname,"www", address);
 fs.readFile(str, "utf-8" , function (err,data) {
 if (err){
  throw new Error("读取失败");
 }
 res.end(data);
 })
}

4、url地址拼接和判断


if (req.url ==="/"){
 readFile(req,res,"node.html");
 }
 else if (req.url ==="/banner") {
 readFile(req,res,"banner.json");
 }
 else {
 res.end("no anything");
 }

5、完整代码

以下代码均位于01.js文件中(js文件无需必须放在项目根目录)。


/*01.js*/
let fs = require("fs");
let path = require("path");
let http = require("http");
 
let server = http.createServer();
 
//开启http服务
server.on("request",function (req,res) {
 // 路径判断
 if (req.url ==="/"){
 readFile(req,res,"node.html");
 }
 else if (req.url ==="/banner") {
 readFile(req,res,"banner.json");
 }
 else if(req.url ==="/node"){
 readFile(req,res,"node.html");
 }
 else {
 res.end("no anything");
 }
});
//监听3000端口
server.listen(3000,);
 
//封装文件
function readFile(req, res ,address) {
 let str = path.join(__dirname,"www", address);
 fs.readFile(str, "utf-8" , function (err,data) {
 if (err){
  throw new Error("读取失败");
 }
 res.end(data);
 })
}

访问测试

6、输入地址读取文件

127.0.0.1:3000

Node.js通过URL读取本地文件实现

127.0.0.1:3000/node

Node.js通过URL读取本地文件实现

127.0.0.1:3000/banner

Node.js通过URL读取本地文件实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章