Node.js內(nèi)置的常用模塊
global
Node.js交互環(huán)境
> global.console
Console {
log: [Function: bound ],
info: [Function: bound ],
warn: [Function: bound ],
error: [Function: bound ],
dir: [Function: bound ],
time: [Function: bound ],
timeEnd: [Function: bound ],
trace: [Function: bound trace],
assert: [Function: bound ],
Console: [Function: Console] }
process
process也是Node.js提供的一個對象麸粮,它代表當(dāng)前Node.js進程。
> process === global.process;
true
> process.version;
'v5.2.0'
> process.platform;
'darwin'
> process.arch;
'x64'
> process.cwd(); //返回當(dāng)前工作目錄
'/Users/michael'
> process.chdir('/private/tmp'); // 切換當(dāng)前工作目錄
undefined
> process.cwd();
'/private/tmp'
JavaScript程序是由事件驅(qū)動執(zhí)行的單線程模型摘完,Node.js也不例外。Node.js不斷執(zhí)行響應(yīng)事件的JavaScript函數(shù),直到?jīng)]有任何響應(yīng)事件的函數(shù)可以執(zhí)行時衫哥,Node.js就退出了圃伶。
如果我們想要在下一次事件響應(yīng)中執(zhí)行代碼,可以調(diào)用process.nextTick():
// test.js
// process.nextTick()將在下一輪事件循環(huán)中調(diào)用:
process.nextTick(function () {
console.log('nextTick callback!');
});
console.log('nextTick was set!');
nextTick was set!
nextTick callback!
在程序即將退出時執(zhí)行某個回調(diào)函數(shù):
// 程序即將退出時的回調(diào)函數(shù):
process.on('exit', function (code) {
console.log('about to exit with code: ' + code);
});
判斷JavaScript執(zhí)行環(huán)境
if (typeof(window) === 'undefined') {
console.log('node.js');
} else {
console.log('browser');
}
console.log('current js file:'+__filename);//d:\workspace\js\test\app.js
console.log('current js dir: '+__dirname);//d:\workspace\js\test
process.name='Sample Nodejs';
console.log('arguments: '+JSON.stringify(process.argv));//["C:\\Program Files\\nodejs\\node.exe","d:\\workspace\\js\\test\\app.js"]
console.log('cwd: '+process.cwd());//d:\workspace\js
var d='/private/tmp';
if(process.platform==='win32'){
d='C:\\Windows\\System32';
}
process.chdir(d);
console.log('cmd '+process.cwd());//C:\Windows\System32
// process.nextTick()將在下一輪事件循環(huán)中調(diào)用:
process.nextTick(function(){
console.log('nextTick callback!');
});
console.log('nextTick was set!');
//nextTick was set!
//nextTick callback!
// 程序即將退出時的回調(diào)函數(shù):
process.on('exit',function(code){
console.log('about to exit with code: '+code);
//about to exit with code: 0
});