同于namespace命名空间,JS为了避免团队代码中的变量和函数相互污染,引入了Common.js规范,这个规范类似于PHP中的PSR约定,同时它也主要针对模块和组件开发。
主要包括模块的定义,标识和引用三个部分。
- nodejs中文件和模块和对应的,模块主要有
核心模块
,文件模块
和第三发模块
,它们分别的引用模块方式为:
|
|
核心模块在node环境启动时被加载,第三方模块包括npm下载和团队自定义的模块。
模块流程: 创建模块,导出模块,加载模块,使用模块, 示例创建一个school模块。
关于exports和module.exports。
URI和URL的区别(统一资源标识符和统一资源定位符),URL属于URI,我们常说的网址就是URL,但是URI是一个略微抽象的概念,URL的命名规则包括协议,英文,小写,文中编码等等。node也有一个用于网址解析的url模块。
在node命令环境中输入url就能看到这个模块暴露的方法,使用
url.pasre('http://www.imooc.com/course/list')
就能被模块解析成一个对象返回到终端。其组成部分包括:
|
|
url.parse和url.format是可逆的操作。
输入querystring查看这个模块提供的方法。其中有
querystring.stringify({name: 'scote', sex: '男'})
可以把对象序列化后变成URL参数路径。更多参数查看文档。querystring.stringify
和querystring.parse
是互逆的,后者是反序列化操作, 类似于json_encode
和json_decode
。就是字符串和对象之间的互相转换。更多参数请查阅API文档。汉字转义使用
querystring.escape()
, 反转义使用querystring.unescape()
。输入网址按下回车后发生了什么?
|
|
请求和响应都会发送http header和http body(正文信息)。