[Node.js基础]学习⑤--基本模块

http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501482448f6b36071ab6949d3a7ecb5a71a3c9df9000

Node.js内置的常用模块

global

Node.js交互环境

> 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提供的一个对象,它代表当前Node.js进程。

> process === global.process;
true
> process.version;
'v5.2.0'
> process.platform;
'darwin'
> process.arch;
'x64'
> process.cwd(); //返回当前工作目录
'/Users/michael'
> process.chdir('/private/tmp'); // 切换当前工作目录
undefined
> process.cwd();
'/private/tmp'

JavaScript程序是由事件驱动执行的单线程模型,Node.js也不例外。Node.js不断执行响应事件的JavaScript函数,直到没有任何响应事件的函数可以执行时,Node.js就退出了。

如果我们想要在下一次事件响应中执行代码,可以调用process.nextTick():

// test.js

// process.nextTick()将在下一轮事件循环中调用:
process.nextTick(function () {
    console.log('nextTick callback!');
});
console.log('nextTick was set!');
nextTick was set!
nextTick callback!

在程序即将退出时执行某个回调函数:

// 程序即将退出时的回调函数:
process.on('exit', function (code) {
    console.log('about to exit with code: ' + code);
});

判断JavaScript执行环境

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()将在下一轮事件循环中调用:
process.nextTick(function(){
    console.log('nextTick callback!');
});
console.log('nextTick was set!');
//nextTick was set!
//nextTick callback!

// 程序即将退出时的回调函数:
process.on('exit',function(code){
    console.log('about to exit with code: '+code);
    //about to exit with code: 0
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 8,974评论 2 41
  • 内容来自《Node.js开发指南》 核心模块是 Node.js 的心脏,它由一些精简而高效的库组成,为 Node....
    angelwgh阅读 4,396评论 0 1
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 9,521评论 2 58
  • topics: 1.The Node.js philosophy 2.The reactor pattern 3....
    宫若石阅读 4,806评论 0 1
  • 之前第一期的时候发过一篇关于自己的文章,现在第六期了,那就再写一次吧。 关于我嘛,每次写都是一个不一样的自己。 年...
    谁的孤独是一颗眼泪阅读 1,696评论 0 0