node.js通过url读取文件


Posted in Javascript onOctober 16, 2020

本文实例为大家分享了node.js通过url读取文件的具体代码,供大家参考,具体内容如下

在浏览器地址栏中输入127.0.0.1:3000和127.0.0.1:3000/node时,读取node.html文件,输入127.0.0.1:3000/banner时读取banner.json文件

准备工作

首先我们在www的文件目录下新建两个文件,一个是node.htnl,一个是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读取文件

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

Javascript 相关文章推荐
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
基于jquery的无刷新分页技术
Jun 11 Javascript
解析Javascript中难以理解的11个问题
Dec 09 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jquery让指定的元素闪烁显示的方法
Mar 17 Javascript
jQuery实现新消息在网页标题闪烁提示
Jun 23 Javascript
PHP捕捉异常中断的方法
Oct 24 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
angular2系列之路由转场动画的示例代码
Nov 09 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
vue组件实现移动端九宫格转盘抽奖
Oct 16 #Javascript
Vue3.0的优化总结
Oct 16 #Javascript
JavaScript通如何过RGraph实现动态仪表盘
Oct 15 #Javascript
利用js实现简易红绿灯
Oct 15 #Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 #Javascript
JS如何操作DOM基于表格动态展示数据
Oct 15 #Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 #Javascript
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
在视频前插入广告
2006/11/20 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Tensorflow 查看变量的值方法
2018/06/14 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python中的With语句的使用及原理
2020/07/29 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
alibaba seata服务端具体实现
2022/02/24 Java/Android