boxmoe_header_banner_img

Hello! 欢迎来到盒子萌!

加载中

文章导读

02模块系统


avatar
Jack 2022年 12月 2日 223

模块系统

1.调用其他文件

首先,文件命名最好不要出现空格 、点、中文等字符,并且建议全小写字符以免在不同的开发环境和系统环境下出错。

  • 引入–require方法

    相对路径./ ../、绝对路径/、模块路径;

    顶层对象global的介绍。

  • 输出–module对象

    moudule.exportsexports的介绍;

    注意模块缓存。

此时我们创建每个文件都相当于一个模块,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)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码