NodeJs 需要的环境

common js规范    require 模块化 输出

每个文件都是一个模块,都有自己的作用域;因为 在common js规范里 他本身 就是一个函数。

大约 编译出来长这个样子;

(function(exports,require,module,__filename,__dirname){
    
// do something here
})

参数 的解释 

exports   这是module.exports的简写,但是也只能改写 输出模块的属性, 而不能去改变 输出模块的 内存指向;

 

require  引入模块 ,支持 js,json,node 拓展名,不写依次尝试 ,都不符合直接报错; 

 除了路径 还可以直接写名字 默认为nodejs的第三方包或者build in 内置模块 如 fs (file system文件系统)

module 加载1次以后就会做缓存,并不会重复缓存了;第一次加载会执行包含的函数

尽量避免 两个模块 互相引用 重复依赖 ,了解他 就是为了避免他

 

module  这个代表模块本身, 还带有一个exports属性,是对外暴露的API; 输出模块;

 

__filename 文件名

 

__dirname 路径名

 

global对象 等同于js的window对象 不是window 对象; 

包含几个 特性;

自带common js;

Buffer ,process,console,

以及timer  setImmediate 

Buffer  

 

 

 

 

 

process global对象的自带的属性 ,当前 执行 的 进程

process 很多属性,其中四个属性 :argv , argv0 ,execArgv ,execpath;

 

argv 是指启动时的所有参数 , 是一个数组;

argv0 是argv的第一个值的引用;

execArgv 是 文件调用执行 输入之前的  参数集合;是个数组; 

execpath 是node 调用的路径, 一般是 argv 的第一个值;

 

process.cwd() 方法  得到         当前 命令 执行的路径;

process 的env 是各种环境配置的集合对象;

 

setImmediate  定时器  间隔时间为 为等待下一个事件队列 ;(推荐 )

process.nextTick()和setImmediate 性质差不多;但有些情况会导致阻塞异步队列的情形;

setImmediate ,process.nextTick()和setImmediate  三者的执行先后顺序为:

process.nextTick() 最快,setImmediate中等速度, setImmediate  最慢 ;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值