阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js module require.main

      require.main

      当 Node.js 直接运行一个文件时, require.main 会被设为它的 module。 这意味着可以通过 require.main === module 来判断一个文件是否被直接运行:

      如下是require.main.js的代码

      console.log(require.main);
      console.log("--------------------------");
      console.log(module);
      console.log("++++++++++++++++++++++++++");
      /*
      * require.main === module
      * 这个表达式
      * 如果通过 node require.main.js 运行则为 true,
      * 如果通过 require('./require.main') 运行则为 false。
      * */
      console.log(require.main === module);
      

      对于 require.main.js 文件,如果通过 node require.main.js 运行则为 true, 但如果通过 require('./require.main') 运行则为 false

      require.main.filename

      因为 module 提供了一个 filename 属性(通常等同于 __filename), 所以:可以通过检查 require.main.filename 来获取当前应用程序的入口点

      console.log(require.main.filename);
      /*
      node require.main.filename.js
          输出 :XXX\require.main.filename.js
      
      node require.main.filename.test.js
          输出 :XXX\require.main.filename.test.js
      
      备注:require.main.filename.test.js内代码如下
      
          const test = require("./require.main.filename");
          
      * */
      

      本文代码位置

      以上代码的Github代码位置:


      更多内容请参考:Node.js module 模块,或者通过 点击对应菜单 进行查看;


      目录
      目录