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用来导出一个系统默认对象,没有指定对象名,常见于修改模块的原始导出对象。

NOde 01-模块导入导出_第1张图片

 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代码仅在模块第一次被使用时执行一次,并且在使用的过程中进行初始化,之后缓存起来便于后续继续使用。

你可能感兴趣的:(node,前端,javascript,vue.js)