• 【第2章 Node.js基础】2.4 Node.js 全局对象...持续更新


    什么是Node.js 全局对象

    对于浏览器引擎来说,JavaScript 脚本中的 window 是全局对象,而Node.js程序中的全局对象是 global,所有全局变量(除global本身外)都是global 对象的属性。全局变量和全局对象是所有模块都可以调用的。Node.is 的全局变量包括filename和 dirname 等,全局对象包括console 和process 等。

    全局变量 __filename和 __dirname

    • __flename (两个下画线开头)指向当前正在执行的脚本文件名。
    • __dimname 指向当前运行的脚本所在的目录。与path.dirname( __filename)返回的路径相同
    console.log("======输出开始==========")
    console.log(__filename);
    console.log(__dirname);
    console.log("======输出结束==========")
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    上面演示 console.log(__filename); 输出了脚本文件的绝对路径。console.log(__dirname); 则输出了脚本文件所在文件夹的绝对路径。

    假定有两个模块a和b,其中b是a的依赖文件,a和b的目录结构如下

    /users/zxp/app/a.js
    /users/zxp/app/node_modules/b/b.js
    
    • 1
    • 2

    b.is中的 __filename会指向/users/zxp/app/node modules/b/b.js,
    而a.js 中的 __filename 会指向/users/zxp/app/a.js。

    也就是说模块依赖不会改变路径。

    console 模块

    console 模块类似于Web浏览器提供的JavaSctipt 控制台。该模块导出两个特定的组件:全局console 实例和 Console 类目。

    1,全局console 实例

    在Node.js中,全局的console对象提供了一些常用的方法来进行控制台输出。
    这些方法可以帮助开发者在开发过程中进行调试和输出信息,方便定位问题和查看程序运行状态。
    以下是console对象的一些常用方法:

    1. console.log(message[, …args]):以普通文本形式输出消息到控制台。
      示例代码:

      console.log("Hello, World!");
      
      • 1
    2. console.error(message[, …args]):以错误文本形式输出消息到控制台。
      示例代码:

      console.error("Error occurred!");
      
      • 1
    3. console.warn(message[, …args]):以警告文本形式输出消息到控制台。
      示例代码:

      console.warn("Warning: This action is not recommended!");
      
      • 1
    4. console.info(message[, …args]):以信息文本形式输出消息到控制台。
      示例代码:

      console.info("Information: The server is running.");
      
      • 1
    5. console.debug(message[, …args]):以调试文本形式输出消息到控制台。
      示例代码:

      console.debug("Debugging information: ", variable);
      
      • 1
    6. console.dir(obj[, options]):以对象形式输出对象的详细信息到控制台。
      示例代码:

      const obj = { name: "John", age: 30 };
      console.dir(obj);
      
      • 1
      • 2
    7. console.time(label) 和 console.timeEnd(label):用于计算代码执行时间的开始和结束点。
      示例代码:

      console.time("myTimer");
      // 执行一些耗时操作
      console.timeEnd("myTimer");
      
      • 1
      • 2
      • 3
    8. console.trace(message[, …args]):输出当前调用栈的跟踪信息。
      示例代码:

      console.trace("Trace this function call");
      
      • 1

    Console 类

    Console类可用于创建具有可配置输出流的简单记录器。通过 require('console').Console 或者console.Console 进行访问。
    Console类有以下方法,可以用于写入任何Nodejs流。

    • console.log()
    • console.errror()
    • console.warn()
    const fs = require('fs');
    
    const out = fs.createWriteStream('out.log');
    const err = fs.createWriteStream('err.log');
    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!`); 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Console 类demo演示

  • 相关阅读:
    纳米软件干货分享|芯片测试技术知识科普
    kafka的 ack 应答机制
    【剑指offer系列】44. 数字序列中某一位的数字
    HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(二)
    全志A33使用主线U-Boot
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wcsrtombs
    LeetCode 541. 反转字符串 II
    操作系统和进程的介绍
    使用nginx代理nacos导致nacos登录界面无法显示问题
    JavaScript的变量和数据类型介绍、JavaScript的关系运算、JavaScript的逻辑运算
  • 原文地址:https://blog.csdn.net/No_Name_Cao_Ni_Mei/article/details/134316462