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(二)--- Node.js事件模块
May 21 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
nodejs redis 发布订阅机制封装实现方法及实例代码
Dec 15 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
Sep 18 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
nodejs简单抓包工具使用详解
Aug 23 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 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警告错误信息的解决方法
2013/06/03 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python备份Mysql脚本
2008/08/11 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
从0开始的Python学习016异常
2019/04/08 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
制定岗位职责的原则
2013/11/08 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
大学生自荐信
2013/12/11 职场文书
大一军训感言
2014/01/09 职场文书
花店创业计划书范文
2014/02/07 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python