• nodejs . module.exports


    //utils.js
    let a = 100;
    
    console.log(module.exports); //能打印出结果为:{}
    console.log(exports); //能打印出结果为:{}
    
    exports.a = 200; //这里辛苦劳作帮 module.exports 的内容给改成 {a : 200}
    
    exports = '指向其他内存区'; //这里把exports的指向指走
    
    //test.js
    
    var a = require('/utils');
    console.log(a) // 打印为 {a : 200}复制代码

    从上面可以看出,其实require导出的内容是module.exports的指向的内存块内容,并不是exports的。
    简而言之,区分他们之间的区别就是 exports 只是 module.exports的引用,辅助后者添加内容用的。

    用白话讲就是,exports只辅助module.exports操作内存中的数据,辛辛苦苦各种操作数据完,累得要死,结果到最后真正被require出去的内容还是module.exports的,真是好苦逼啊。

    其实大家用内存块的概念去理解,就会很清楚了。

    然后呢,为了避免糊涂,尽量都用 module.exports 导出,然后用require导入。

  • 相关阅读:
    螺旋矩阵算法
    shell脚本编程的10个最佳实践
    时间字符串转长整形数
    python的发音
    wget使用技巧
    History命令用法15例
    14位格式时间字符串
    Spring MVC
    Android SQLite数据储存方式
    MYSQL命令大全
  • 原文地址:https://www.cnblogs.com/xingchong/p/10911183.html
Copyright © 2020-2023  润新知