前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node 导入模块:require()和导出模块:module.exports、exports的用法及注意点

Node 导入模块:require()和导出模块:module.exports、exports的用法及注意点

作者头像
倾盖
发布2022-08-16 14:34:33
1.2K0
发布2022-08-16 14:34:33
举报
文章被收录于专栏:RivenCabin

1、require()导入模块

注意:使用require方法加载模块,会执行被加载模块中的代码

代码语言:javascript
复制
/* 模块有三大分类:内置模块、自定义模块、第三方模块 */

/* 示例:使用require方法加载模块 */
// 注意:使用require方法加载模块,会执行被加载模块中的代码
// 1、加载内置模块
const fs = require('fs')
// 2、加载自定义模块
const riven = require('./riven-custom')
// 3、加载第三方模块(第三方模块需要我们先下载才能使用)
const moment = require('moment')

2、module.exports、exports导出模块

注意:require()导入模块时,得到的永远是module.exports指向的对象

代码语言:javascript
复制
console.log('这是我的自定义模块:Riven-custom');

/* 时刻谨记,require()模块时,得到的永远是module.exports指向的对象*/
// module.exports===exports(只是在默认情况下全等,指向改变后不是全等)

/* 指向误区:谨记以module.exports指向的对象为准 */
// 1、2指向的是不同的对象,3、4指向的是同一个对象

// 1、指向:{ username: '李四' }
exports.username = '张三'
module.exports = {
    username: '李四'
}

// 2、指向:{ username: '张三' }
module.exports.username = '张三'
exports = {
    username: '李四'
}
// module.exports===exports?: false
console.log('module.exports===exports?:', module.exports === exports)

// 3、指向:{ username: '张三', age: 18 }
exports.username = '张三'
module.exports.age = 18

// 4、指向:{ username: '张三', age: 18, sex: '男' }
exports = {
    username: '张三',
    age: 18
}
module.exports = exports
module.exports.sex = '男'
// module.exports===exports?: true
console.log('module.exports===exports?:', module.exports === exports)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、require()导入模块
  • 2、module.exports、exports导出模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档