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的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
nodejs导出excel的方法
Jun 30 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
nodejs之koa2请求示例(GET,POST)
Aug 07 NodeJs
基于Nodejs的Tcp封包和解包的理解
Sep 19 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
nodejs图片处理工具gm用法小结
Dec 12 NodeJs
nodejs基础之常用工具模块util用法分析
Dec 26 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 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
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
Python实现控制台输入密码的方法
2015/05/29 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
python绘制直线的方法
2018/06/30 Python
对python sklearn one-hot编码详解
2018/07/10 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
数控专业应届生求职信
2013/11/27 职场文书
司马光教学反思
2014/02/01 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
消防工作实施方案
2014/06/09 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书