EcmaScript
- 没有DOM BOM
- 核心模块
- Node为JavaScript提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中了。例如文件操作中的
fs
核心模块,http服务构件中的http
模块,path
路径操作模块,os
操作做系统信息模块等等
var fs=require('fs')
var http=require('http')
- 第三方模块
- 用户自定模块
require方法两个作用
- 加载文件模块并执行里面的代码
- 拿到被加载文件模块导出的接口对象
- 在每个文件模块中都提供了一个对象
exports
,默认是空对象
a.js
console.log('a.js start')
require('./b.js')
console.log('a.js end')
b.js
console.log('b.js被加载执行了')
执行结果
在Node中 没有全局作用域,只有模块作用域
不同作用域之间不能直接访问
a.js
var bExports=require('./b.js')
console.log(bExports.add(10,20))
b.js
exports.add=function(x,y){
return x+y
}
a.js
bExports.readFilePath('./a.js')
b.js
exports.readFilePath=function(path,callback){
console.log('文件路径' + path)
}