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的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
详解nodejs 文本操作模块-fs模块(三)
Dec 22 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
Nov 18 NodeJs
Nodejs实现WebSocket代码实例
May 19 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
Python中的下划线详解
2015/06/24 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
如何获取Python简单for循环索引
2019/11/21 Python
python 实现按对象传值
2019/12/26 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
开办化妆品公司创业计划书
2013/12/26 职场文书
学生党支部先进事迹
2014/02/04 职场文书
论文诚信承诺书
2014/05/23 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
消防宣传标语大全
2015/08/03 职场文书
高中历史教学反思
2016/02/19 职场文书
Python初识逻辑与if语句及用法大全
2021/08/07 Python