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服务器(8):非阻塞是如何实现的
Dec 18 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
nodejs爬虫抓取数据乱码问题总结
Jul 03 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
监控Nodejs的性能实例代码
Jul 02 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 NodeJs
Node.js实现爬取网站图片的示例代码
Apr 04 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中使用unset销毁变量并内存释放问题
2012/07/05 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
谈谈如何手动释放Python的内存
2016/12/17 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
python 实现目录复制的三种小结
2019/12/04 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
服务员岗位职责
2014/01/29 职场文书
九年级政治教学反思
2014/02/06 职场文书
大学生社会实践方案
2014/05/11 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
工作收入住址证明
2014/10/28 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
爱心捐助活动总结
2015/05/09 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫