NOde 01-模块导入导出

一、node模块化理解

Node.js采用的是CommonJs规范,在NodeJS中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名。

Node模块的分类:

  • 核心模块(已经封装好的内置模块);
  • 自己定义的模块;
  • 第三方的模块(npm下载下来的);

   在编写每个模块时,都有require、exports、module三个预先定义好的变量可供使用。

1.require

 require函数用来在一个模块中引入另外一个模块。传入一个模块名,返回一个模块导出对象。

    用法:let cc = require("模块名") ,其中模块名可以用绝对路径也可以用相对路径,模块的后缀名.js可以省略。

let cc1 = require('./main.js')

let cc2 = require('home/src/main.js')

let cc3 = require('./main')

    require()函数用两个作用:

  • 执行导入的模块中的代码;
  • 返回导入模块中的接口对象;

index.js文件

let a = require('./index1')

index1.js文件

let s1 = {username:"学生"}
console.log(s1)
module.exports = s1

 

2.exports 和module.exports

exports对象用来导出当前模块的公共方法或属性,其他的模块通过require函数使用当前模块时得到的就是当前模块的exports对象。

系统默认设置了:exports = modules.exports

module.exports用来导出一个系统默认对象,没有指定对象名,常见于修改模块的原始导出对象。

 index.js

let a = require('./index1')
console.log(a)

index1.js

let a = 123;
let c = 789;
let s1 = {username:"学生"}
console.log(s1)
//exports就是默认导出的对象
exports.a = a;
module.exports.c = c;

 

 3.模块的初始化

一个模块中的JS代码仅在模块第一次被使用时执行一次,并且在使用的过程中进行初始化,之后缓存起来便于后续继续使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpp_1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值