一、fs模块

(1)查看文件状态

fs.stat(path, callback) / statSync(path)

(2)创建目录

fs.mkdir(path, callback) / mkdirSync(path)

(3)移除目录

fs.rmdir(path, callback) / rmdirSync(path)

使用异步移除目录mydir

使用同步移除目录mydir2

(4)读取目录

fs.readdir(path, callback) / readdirSync(path)

callback

err 可能产生的错误

result  读取的结果,格式为数组

(5)创建文件/写入文件

fs.writeFile( path, data, callback )

/ writeFileSync(path,data)

data要写入的数据

如果文件不存在,会创建文件并写入数据;

如果文件已经存在,会清空文件中内容,然后写入数据

(6)追加写入文件

fs.appendFile(path, data, callback) /

appendFileSync(path, data)

如果文件不存在,会创建文件,然后写入数据

如果文件已经存在,会再文件的末尾写入数据

练习:创建数组,每个元素是一个课程名称,遍历数组,分别获取元素,将数据使用同步方法写入到文件data.txt

(7)读取文件

fs.readFile(path, callback) / readFileSync(path)

callback

err

data  读取的数据,格式为buffer

(8)删除文件

fs.unlink(path, callback) / unlinkSync(path)

(9)判断文件是否存在

fs.existsSync(path)

练习:判断data.txt是否存在,如果存在,则删除

(10)文件流

var readStream=fs.createReadStream(文件路径)  //创建可读流

readStream.on('data', function(chunk){   })

当有数据流入,自动触发事件;

通过回调函数来获取 ,chunk就是获取的数据流

readStream.on('end', function(){     })

当读取结束,自动触发事件

pipe  管道,可以将数据从可读流添加到可写流

2.http协议

浏览器和web服务器之间的通信协议

(1)通用头信息

Request URL: 请求的URL,对应浏览器地址栏;向服务器获取哪些内容

Request Method: 请求的方法,获取内容的方法 get/post

Status Code: 响应的状态码

1**:正在响应,还没有结束

2**:成功的响应

3**:响应的重定向,跳转到另一个URL

4**:客户端请求错误

5**:服务器端错误

Remote Address:请求的服务器的IP地址及端口号

(2)响应头信息

Connection: 连接方式,keep-alive 持久连接

Content-Encoding: 内容压缩形式, gzip

Content-Type: 响应的文件类型

Location: 跳转的URL,常配合着状态码3**使用

(3)请求头信息

Accept: 浏览器接收的文件类型有哪些

Accept-Encoding: 接收的压缩形式有哪些

User-Agent: 客户端使用的浏览器版本

(4)请求主体

可有可无,浏览器向服务器发请求传递的数据

3.http模块

模拟浏览器向web服务器发请求,还可以创建web服务器

(1)模拟浏览器

http.get(url, callback)  发送请求

url  请求的URL

callback  回调函数,获取服务器端的响应

res  响应的对象

res.statusCode  获取响应的状态码

res.on('data', function(chunk){   })

事件: 监听服务器端是否有数据传输过来

chunk  就是传输的数据,格式为buffer

(2)创建web服务器

var app=http.createServer(); //创建web服务器

app.listen(8080);//设置监听的端口

//监听浏览器的请求

app.on('request', function(req,res){

req  请求的对象

req.url  请求的url,获取端口号后边的部分

req.method  请求的方法

req.headers  请求的头信息

res  响应的对象

res.write()  设置响应的内容

res.writeHead( 状态码, 头信息对象 )

res.end()  结束并发送响应到浏览器

})

Nodejs模块使用的更多相关文章

  1. NodeJS 模块开发及发布详解

    NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...

  2. NodeJS模块、包、NPM

    1.NodeJS模块        每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用               新建一个文件mytest. ...

  3. # nodejs模块学习: express 解析

    # nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...

  4. nodejs模块xml2js解析xml的坑

    在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...

  5. NodeJS 模块&函数

    NodeJS 模块&函数 nodejs的多文件操作通过模块系统实现,模块和文件一一对应.文件本身可以是javascript代码.JSON或编译过的C/C++扩展 基本用法 nodeJS通过ex ...

  6. es6模块 nodejs模块和 typescript模块

    es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export

  7. nginx unit nodejs 模块试用

      unit 对于nodejs 的支持是在10.25 发布的,基本能用,但是依然有好多问题,当前在测试的时候就发现,请求之后会block , 相关的issue 已经有人反馈了,最好使用源码编译,方便测 ...

  8. nodejs nodejs模块使用及简单的示例

    nodejs模块使用及简单的示例 参考菜鸟教程网:http://www.runoob.com/ 一.fs模块的使用: 1.文件操作: 读文件: //读文件 var fs=require('fs'); ...

  9. nodeJS学习(9)--- nodeJS模块:exports vs module.exports

    模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...

  10. nodejs模块学习: webpack

    nodejs模块学习: webpack nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决现实 ...

随机推荐

  1. cdn服务器

    CDN的基本原理和基础架构 CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率.解决因分布.带宽.服务器性能带来的访问延迟问题,适用于站点加速.点播.直 ...

  2. Pytorch中自定义神经网络卷积核权重

    1. 自定义神经网络卷积核权重 神经网络被深度学习者深深喜爱,究其原因之一是神经网络的便利性,使用者只需要根据自己的需求像搭积木一样搭建神经网络框架即可,搭建过程中我们只需要考虑卷积核的尺寸,输入输出 ...

  3. Spring Developer Tools 源码分析:三、重启自动配置'

    接上文 Spring Developer Tools 源码分析:二.类路径监控,接下来看看前面提到的这些类是如何配置,如何启动的. spring-boot-devtools 使用了 Spring Bo ...

  4. 一份中外结合的 Machine Learning 自学计划

    看了Siraj Raval的3个月学习机器学习计划的视频,感觉非常好,地址:https://www.youtube.com/watch?v=Cr6VqTRO1v0 结合一些我们学习中的经验得出一份Hy ...

  5. hdu2544最短路

    在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助 ...

  6. 疯子的算法总结(九) 图论中的矩阵应用 Part 2 矩阵树 基尔霍夫矩阵定理 生成树计数 Matrix-Tree

    定理: 1.设G为无向图,设矩阵D为图G的度矩阵,设C为图G的邻接矩阵. 2.对于矩阵D,D[i][j]当 i!=j 时,是一条边,对于一条边而言无度可言为0,当i==j时表示一点,代表点i的度. 即 ...

  7. C# 基础知识系列- 14 IO篇 流的使用

    0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...

  8. 配置中心Apollo搭建全过程

    总体架构 用户在Portal操作配置发布 Portal调用Admin Service的接口操作发布 Admin Service发布配置后,发送ReleaseMessage给各个Config Servi ...

  9. 软件——Ubuntu16.04设置静态ip地址

    1.获取网卡名称 在命令行输入ifconfig -a 2.修改网卡配置文件 sudo vim /etc/network/interfaces 加上下面的配置,IP地址可以成适合你的 auto eth0 ...

  10. P1714切蛋糕(不定区间最值)

    题面 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大,但小Z最多又 ...