NodeJs-Lesson1-require和module.exports探究
时间:2022-07-25
本文章向大家介绍NodeJs-Lesson1-require和module.exports探究,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
require和module.exports探究
require和module.exports讲解
遵守开闭原则:对修改关闭,对扩展开放,所以要想使用引入的模块,子模块必须提供module.exports方法。否则只能运行子模块
require
- 使用方法 var express = require(“express”);//引入系统模块可以直接引入 var test = require("./test.js");引入自己写的模块需要写相对路径或者绝对路径
exports和module.exports探究
- 导出模块可以使用
var a = 123;
var b = 'abc';
exports.a = a;
module.exports.b = b;
这里的两种方法都能导出该模块,并且,将该模块导出到一个对象当中 此处你是否有疑问呢?为何两个东西会导出到一个对象当中,还是说这两个对象是同一个对象呢?
console.log(exports == module.exports):
看到这个结果,确实是表示exports和module.exports是同一个对象
那我们再看看另外一种情况呢
var a = 123;
bar b = 'abc';
exports = a;
module.exports = b;
再另一个js中去引入该模块
var test = require("./test.js");
这里打印的结果为abc;即使我们讲导出的顺序反过来,结果还是一样,这里就不再做示例了。 综上所述:我们可以得出一些结论:
- exports和module.exports指向的是同一个对象。所以,我们分别再两个上面挂载对象导出时,值再同一个对象里面
- 当我们再两个对象分别赋值新的对象以后,就只能导出其中一个,是因为我们改变了原来的指向,现在指向两个对象 ,我们只能导出module.exports。所以,刚刚看到的结果都是abc
留一个疑问?为什么exports和require都能直接使用,是全局变量吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mysql优化篇:where中的like和=的性能分析
- 557. 反转字符串中的单词 III
- 剑指 Offer 03. 数组中重复的数字
- 841. 钥匙和房间
- 一篇文章了解python常见内置异常报错
- 五分钟极速搭建kubernetes集群
- 没想到吧!关于Dubbo的『消费端线程池模型』官网也写错了。
- Go内存管理之代码的逃逸分析
- MySQL读锁的区别和应用场景分析
- Apache NIFI 讲解(读完立即入门)
- 了解NiFi最大线程池和处理器并发任务设置
- 深入理解 Apache NIFI Connection
- 【Go语言探险】线上奇怪日志问题的排查
- 探索 Apache NIFI 集群的高可用
- 面试被问:Spring Boot中Tomcat是如何启动的?