I/O (Input/output)
I/O操作指的是对磁盘的读写操作
Node
Node
string Number Boolean Math Date RegExp Function object Array
而BOM和DOM都不能使用,但是可以使用console也可以使用定时器(setTimeout () setInterval() )
Node可以在后台来编写服务器
Node编写服务器都是单线程的服务器
进程
进程就是一个一个的工作计划(工厂中的车间)
线程
线程是计算机最小的运算单位(工厂中的工人),线程是千活的
传统的服务器都是多线程的
每进来一个请求,就创建一个线程去处理请求
Node处理请求时是单线程,但是在后台拥有一个I/O线程池
CommonJS对模块的定义十分简单
模块引用
模块定义
模块标识
就相当于下图,闭包中的变量和函数不能被外面的函数或者操作访问
如果想对外部的模块访问到,可以通过exports来向外部暴露变量和方法
向外部暴露属性或方法
exports.x=20; exports.y=100; exports.fn=function(){ }
引入其他的模块
在node中,通过require()函数来引入外部的模块,require()可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块;如果使用相对路径,必须用.或者..开头
使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块