node.js学习笔记
0、nodeJs特征
单线程、非阻塞I/O、事件驱动
1、node里面的全局对象
JavaScript有且仅有一个全局对象,在浏览器中,叫window对象。而在Node.js环境中,也有唯一的全局对象,但不叫window,而叫global
1 |
|
2、模块的引入
一个模块想要对外暴露变量(函数也是变量),可以用module.exports = variable;,一个模块要引用其他模块暴露的变量,用var ref = require(‘module_name’);就拿到了引用模块的变量。
2.1 单个函数的export
1 |
|
2.2 export多个函数或者变量
1 |
|
2.3模块化编程思想
1 |
|
2.4 require的各种写法
直接require文件名字
1 |
|
直接require一个文件夹(即没有文件后缀)
1 |
|
如果require的模块与系统内置模块名字冲突,系统的模块会覆盖自定义的模块
3、events (事件)
1 |
|
4、文件系统
4、1读取文件内容
1 |
|
4、2创建文件并写入内容
1 |
|
4、3删除文件
1 |
|
4、4创建文件夹和删除文件夹
1 |
|
4.5 获取文件的详细信息
如果我们要获取文件大小,创建时间等信息,可以使用fs.stat(),它返回一个Stat对象,能告诉我们文件或目录的详细信息:
1 |
|
4.6 获取一个文件夹里面所有文件(包括文件夹里面的文件夹)
1 |
|
5、stream (流)
什么是流?流是一种抽象的数据结构。想象水流,当在水管中流动时,就可以从某个地方(例如自来水厂)源源不断地到达另一个地方(比如你家的洗手池)。我们也可以把数据看成是数据流,比如你敲键盘的时候,就可以把每个字符依次连起来,看成字符流。这个流是从键盘输入到应用程序,实际上它还对应着一个名字:标准输入流(stdin)。如果应用程序把字符一个一个输出到显示器上,这也可以看成是一个流,这个流也有名字:标准输出流(stdout)。流的特点是数据是有序的,而且必须依次读取,或者依次写入,不能像Array那样随机定位。
5.1 读取流
1 |
|
5.2 写入流
1 |
|
6、http模块
6.0 get和post请求区别
get请求数据在URL中,post请求数据不在URL中
post接收数据比get大很多
6.1 创建web服务器
1 |
|
6.2 响应JSON
1 |
|
输出为
6.3 响应HTML页面
1 |
|
输出为
1 |
|
7、路由
7.1 实现一个简单的路由
1 |
|
8、express框架的使用
8.1 express创建web服务
1 |
|
node.js学习笔记
https://xypecho.github.io/2018/05/14/node-js学习笔记/