node模块化

179 阅读1分钟

node的模块化

模块的分类

  • 内置模块(核心模块) 由node官方提供。常见的有:fs,path,http等
  • 自定义模块 用户创建的每一个js文件都是一个自定义模块。
  • 第三方模块 由第三方开发,使用之前需要下载安装。

模块作用域

和函数作用域类似,在自定义模块中的变量,函数等成员,只能在当前模块中使用,这种模块级别的访问限制,就叫做模块作用域。

好处:防止全局变量污染。

模块的导入和导出

导出

新建一个a.js文件,里面的代码如下:

//导出一个对象,对象中的值就被暴露出去了。
module.exports = {
    name:"刘德华",
    act(){
        console.log("之前我没得选,现在我想做一个好人")
    },
    age:35
}

导入

新建一个b.js文件,里面的代码如下:

const ldh = require("./a.js")
console.log(ldh.age)
console.log(ldh.name)
ldh.act();
​
//或者使用解构赋值
const {name} = require("./a.js") //只接受name的值
console.log(name)

【注意】 【module.exports = { name:‘刘德华’}】 和 【module.exports.name = '刘德华'】的区别

前者是创建的新的对象,将原对象覆盖。后者是在原对象上添加一个新的属性。