一、全局变量
1.__filename:
指向当前正在执行的脚本文件名。(含绝对路径)
console.log('文件名:'+__filename);
2.__dirname:
指向当前运行的脚本所在的目录。
console.log('目录名:'+__dirname);
二、console模块
1.全局console实例
console.log('hello world'); // 打印hello world到标准输出流 console.log('hello %s', 'world');// 打印hello world到标准输出流 console.error(new Error('错误信息')); // 打印 [Error: 错误信息] 到标准错误流 const name = 'Robert'; console.warn(`Danger ${name}! Danger!`);// 打印Danger Robert! Danger!到标准错误流
2.Console类
const out = getStreamSomehow(); const err = getStreamSomehow(); const myConsole = new console.Console(out, err); myConsole.log('hello world'); // 打印hello world到out流 myConsole.log('hello %s', 'world'); //打印hello world到out流 myConsole.error(new Error('错误信息')); //打印 [Error: 错误信息] 到 err流 const name = 'Robert'; myConsole.warn(`Danger ${name}! Danger!`); // 打印Danger Robert! Danger!到 err流
三、process对象
1.进程事件
进程:运行中的程序
process.on('exit', function(code) { // 以下代码永远不会执行 setTimeout(function(){ console.log("该代码不会执行"); }, 0); console.log('退出码为:',code); }); console.log("程序执行结束");
2.退出状态码
- 如果没有异步操作任务正在等待执行,则Node.js会以状态码0正常退出。
- 其他情形使用相应的状态码。
3.process对象的属性
- 获取process对象的属性
process.stdout.write("Hello World!" + "\n");// 将字符串输出到终端 //通过参数读取 process.argv.forEach(function(val, index, array) { console.log(index + ': ' + val); }); console.log(process.execPath); // 获取执行路径 console.log(process.platform); // 获取平台信息
- 获取命令行参数
console.log('读取命令行参数:', process.argv); console.log('第1个参数:', process.argv[2]);
4.process对象的方法
process对象提供多种方法用于控制与系统的交互
console.log('当前目录: ' + process.cwd()); console.log('当前版本: ' + process.version); console.log(process.memoryUsage());