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写的一个简单项目打包工具
May 11 NodeJs
跟我学Nodejs(二)--- Node.js事件模块
May 21 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
NodeJS学习笔记之MongoDB模块
Jan 13 NodeJs
浅谈Nodejs中的作用域问题
Dec 26 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
图解NodeJS实现登录注册功能
Sep 16 NodeJs
nodejs各种姿势断点调试的方法
Jun 18 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模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
用Python编程实现语音控制电脑
2014/04/01 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
企业安全生产规章制度
2015/08/06 职场文书
中学校园广播稿
2015/08/18 职场文书
环保建议书作文500字
2015/09/14 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python