Nodejs读取文件时相对路径的正确写法(使用fs模块)


Posted in NodeJs onApril 27, 2017

在开发Nodejs中,我们往往最常用的模块就是fs核心模块(fs.readFile)来读取文件。代码如下:

Nodejs读取文件时相对路径的正确写法(使用fs模块)

但是运行之后,并没有按照想象中一样,读取test.html文件内容,这是一个bug,坑爹的玩意,解决办法:

其实由于运行环境的不同,以上的相对路径的写法导致最后读取的位置是不同的。

正确的写法应该是使用"path.join()"的方式实现:(__dirname表示当前文件的目录名)

//require 表示引包,引包就是引用自己的一个特殊功能
var http = require("http");
var path = require("path");
var fs = require("fs");
//创建服务器,参数是一个回调函数,表示如果有事件进来,要做什么
var server = http.createServer(function (req,res) {
  fs.readFile(path.join(__dirname, "./test.html"),function (err,data) {
    res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
    res.end(data);
  });
});

//运行服务器 监听2000端口 端口可以任意修改
server.listen(2000,"127.0.0.1");

运行效果如下:

Nodejs读取文件时相对路径的正确写法(使用fs模块)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

NodeJs 相关文章推荐
Nodejs极简入门教程(三):进程
Oct 27 NodeJs
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
Apr 01 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
NodeJS安装图文教程
Apr 19 NodeJs
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
Oct 17 NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 NodeJs
nodejs中实现用户注册路由功能
May 20 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 NodeJs
详解nodejs express下使用redis管理session
Apr 24 #NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 #NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 #NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 #NodeJs
nodejs入门教程四:URL相关模块用法分析
Apr 24 #NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 #NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 #NodeJs
You might like
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
js实现二级导航功能
2017/03/03 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
Python脚本实现虾米网签到功能
2016/04/12 Python
Python WSGI的深入理解
2018/08/01 Python
python使用knn实现特征向量分类
2018/12/26 Python
django基础学习之send_mail功能
2019/08/07 Python
python 实现多维数组转向量
2019/11/30 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
Python进行统计建模
2020/08/10 Python
python 实现控制鼠标键盘
2020/11/27 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
技能比武方案
2014/05/21 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers