一、Js解析引擎
chrome=> v8
Firefox=>OdimMokey
Safri=>Jscode
IE=> Chakra
二、Node基础命令
cls:清空终端
tab:补全路径
esc:清空当前已输入的命令
↑: 返回上一层命令
三、fs文件系统模块
1、fs.readFile(path[,ooptions],callback)
参数1:必选,字符串格式,指文件路径
参数2:可选,表示以什么形式的编码格式读取,一般是utf-8
参数3:回调函数,读取失败和成功的回调
2、fs.writeFile(file,data[,options],callback)
参数1:必选,指定文件路径的字符串
参数2:表示写入的内容
参数3:可选,表示以什么形式的编码格式读取,一般是utf-8
参数4:回调函数,文件写入后的回调
四、http模块
五、模块化
1.模块化规范:是对代码进行模块化拆分与组合时候,需要遵守的规则
优势:降低沟通成本,方便各个模块之间的调用,利人利己
2. Node.js中根据模块来源不同,分为3大类,分别是:
内置模块:由Node.js官方提供,例如fs、path、http等
自定义模块:用户创建的每个js文件,都是自定义模块
第三方模块:由第三方开发出来的,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载
3. 模块作用域
和函数作用域类似,在自定义模块中定义变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域
好处:放置全局变量污染的问题
4.向外共享模块作用域中的成员
4.1 module.exports 对象
在自定义模块中,使用module.exports 对象,将模块内的成员共享出去,共外界使用
外界使用require()方法导入自定义模块时,得到的就是module.exports所指向的对象
4.2 exports对象
由于module.exports写起来复杂,为了简化向外共享成员的代码,Node提供了exports对象。默认情况下,exports和module.exports指向同一个对象。最终共享的结果,还是以module.exports指向的对象为准。