node学习笔记_1
node获取路径的扩展名部分
node为JavaScript提供了很多服务级别的API,这些API绝大多数都被包装到了一个
具名的核心模块中了。例如文件操作的fs核心模块,http服务构建的http模块,path
路径操作模块,os操作系统信息模块.....
eg:var http=require("http")
reqiure是一个方法,用来加载模块的
node模块有三种:具名的核心模块(fs、http...);
用户自己编写的文件模块(相对路径必须加 ./)可以省略后缀名
第三方模块
try文件中包含:a.js;b.js
其中 a.js:console.log('a begin')
require(./b.js)
console.log('a end')
b.js:console.log('b 收到')
结果:a begin
b 收到
a end
在node中没有全局作用域,只有模块作用域
文件与文件之间由于是模块作用域,所以不会有污染(模块完全封闭,外部访问不到内部;内部也访问不到外部)
模块作用域带来的好处是:可以加载执行多个文件,可以完全避免变量命名冲突污染的问题
模块作用域中如何让模块与模块之间进行通信?
require有两个作用:1.加载文件模块并执行里面的代码
2.拿到被加载文件模块导出的接口对象
每个文件模块中都提供了一个对象:exports
exports默认是一个空对象,其作用是导出
把所有需要被外部访问的成员挂载到这个exports就可以进行外部访问了,接着require这个模块就可以得到模块内部的exports接口对象