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 模块,或者通过 点击对应菜单 进行查看;



AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>