首页 > 代码库 > Node中的全局对象

Node中的全局对象

global

  • global顶级对象,类似于浏览器中的window
  • 在任何地方可以直接使用,不需要导包
  • setTimeout/setImmediate/process.nextTick,异步的时候setTimeout的优先级高于setImmediate,process.nextTick优先级最高
  • setInterval
  • 在REPL环境中定义的变量直接挂载到global中
  • 在js文件中定义的变量不会挂载到global中

 

获取路径

  • __dirname 当前执行的js所在的文件夹
  • __filename 当前执行的js的路径
  • process.cwd() 当前执行node.exe的路径

 

process

  • process.abort() 退出node.exe
  • process.arch 获取执行当前node的平台是32还是64位
  • process.argv 获取当前执行node时候的参数数组

    默认数组由两个值 1、node的路径 2、当前js的路径

  • process.env 获取环境变量

    结合命令行 命令 set xxx="" 可以指定执行的环境 例如:set xxx=dev && node 07-env判断执行环境.js

 

标准输入输出

  • process.stdout.write(); console.log内部调用的write()并且加了一个换行
  • //案例:输出控制台动画
    
    var index = 0;
    setInterval(function () {
      //输出之前清空之前的内容
      process.stdout.write("\u001b[2J\u001b[0;0H");
    
      var content = fcontent[index];
    
      process.stdout.write(content);
    
      index++;
    
      if(index >= fcontent.length) {
          index =0;
      }
    }, 100);

    process.stdin.read();

     process.stdin.on("readable", function () {
          //监控键盘的输入
          //只要有输入,就会执行function
    
          var data =http://www.mamicode.com/ process.stdin.read();
    
          if(data =http://www.mamicode.com/= null) {
              console.log("请输入一些内容");
              return;
          }
          process.stdout.write("你输入的内容:" + data);
    
      });

     

Node中的全局对象