Nodejs模块使用
一、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模块使用的更多相关文章
- NodeJS 模块开发及发布详解
NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...
- NodeJS模块、包、NPM
1.NodeJS模块 每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用 新建一个文件mytest. ...
- # nodejs模块学习: express 解析
# nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...
- nodejs模块xml2js解析xml的坑
在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...
- NodeJS 模块&函数
NodeJS 模块&函数 nodejs的多文件操作通过模块系统实现,模块和文件一一对应.文件本身可以是javascript代码.JSON或编译过的C/C++扩展 基本用法 nodeJS通过ex ...
- es6模块 nodejs模块和 typescript模块
es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export
- nginx unit nodejs 模块试用
unit 对于nodejs 的支持是在10.25 发布的,基本能用,但是依然有好多问题,当前在测试的时候就发现,请求之后会block , 相关的issue 已经有人反馈了,最好使用源码编译,方便测 ...
- nodejs nodejs模块使用及简单的示例
nodejs模块使用及简单的示例 参考菜鸟教程网:http://www.runoob.com/ 一.fs模块的使用: 1.文件操作: 读文件: //读文件 var fs=require('fs'); ...
- nodeJS学习(9)--- nodeJS模块:exports vs module.exports
模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...
- nodejs模块学习: webpack
nodejs模块学习: webpack nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决现实 ...
随机推荐
- python学习笔记(一)---字符串与列表
字符串的一些处理 字符串的大小写 name="lonmar hb" print(name.upper())#全大写 print(name.lower())#全小写 print(na ...
- 2019-2020-1 20199326《Linux内核原理与分析》第六周作业
本周学习了庖丁解牛Linux内核分析第五章:系统调用的三层机制(下),是上一章的延续 实验内容:使用gdb跟踪分析一个系统调用内核函数 上周实验我选择的getpid这个系统系统调用,这次准备使用gdb ...
- Linux安装jdk(详细教程)
一.JDK介绍 JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JA ...
- Spring5参考指南:Bean的生命周期管理
文章目录 Spring Bean 的生命周期回调 总结生命周期机制 startup和Shutdown回调 优雅的关闭Spring IoC容器 Spring Bean 的生命周期回调 Spring中的B ...
- KAFKA官方教程笔记-introduction
为什么80%的码农都做不了架构师?>>> 介绍 apache kafka是一个分布式流式处理平台,一个流式平台该有的三个关键能力: 发布.订阅流式数据.从这个角度讲类似消息队列或 ...
- 码云git本地仓库链接远程仓库
原文链接: 点我 git提交时,仓库是空的,本地有源码 应该打开cmd 归到项目路径 然后输入git push -u origin master -f 是把本地的项目强制推送到空的仓库 git ...
- Windows 10配置VS Code C++环境(超详细,面向小白以及大佬们)
看完这个,还有下一篇:门在这 我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定 ...
- POJ 3267为什么优先队列超时,DP就能过,难过
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11846 Accepted: 5693 Desc ...
- Centos7 team 绑定多网卡
1.nmcli connection show 查看所有的网络连接 nmcli connection show 接下来我们要使用 ens37 ens38 两个网卡绑定 , 绑定的网卡取名: agg-e ...
- 使用JDBC连接oracle数据库
需要jar包:ojdbc6.jar