模块系统
1.调用其他文件
首先,文件命名最好不要出现空格 、点、中文等字符,并且建议全小写字符以免在不同的开发环境和系统环境下出错。
-
引入–require方法
相对路径
./ ../
、绝对路径/
、模块路径;顶层对象
global
的介绍。 -
输出–module对象
moudule.exports
与exports
的介绍;注意模块缓存。
此时我们创建每个文件都相当于一个模块,Node中模块的导入与输出比起原生JS
要好很多,每个文件都是一个作用域,不用担心变量暴露在全局,同时我们引入的时候可以随便采用合适的变量名接受。
2.原生模块
Node中存在很多自带的模块,这些模块各自有不同的功能,而他们的引入方式同样也是使用require
,当然此时的路径是模块路径。原生模块总是优先加载的。
接下来学习原生模块,不多,常用的更少。详细API
可以参数Node.js API
文档 (opens new window)。
1. 常用的
-
path – 路径
学习全局变量
__dirname
__filename
。处理各种路径,*重点
API*:join、resolve、relative、parse
。 -
**url - URL**
用于解析路径。
重点
API
: URL类、parse、resolve。 -
**querystring - 查询字符串**
用于解析查询字符串。
*重点API*:parse、stringify。
-
fs – 文件系统
这个模块很重要。它提供了文件相关的操作。
学习Node中回调函数的通常写法。
学习Node的同步API与对应的异步API。
*重点API*:readFile、writeFile、appendFile、unlink、copyFile、rename、readdir、mkdir、rmdir。
-
**readline - 逐行读取**
了解一哈:createInterface、监听line事件
2. 需要了解的
-
events – 事件触发器
Node中所有的异步I/O操作都采用事件策略,首先监听事件,完成之后发布事件,也就是设计模式中的观察者模式。很多其它的模块都继承了events模块的功能。
*重点
API*:EventEmitter
类、on off once emit
。 -
stream
– 流流模块用于处理流数据,很多其他模块都继承了它的功能,但是我们极少直接使用stream流。
配合
fs
模块理解流的概念。 -
**http - HTTP**
启动HTTP服务。
http/https
模块很牛逼,但是有些api
使用起来有点难受,所以实际过程中我们会使用某些非原生的模块来代替,比如express/koa
等。重点
API
:.createServer().listen() 、res.writeHead()、res.write()、res.end()
评论(0)
暂无评论