前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node模块化

Node模块化

作者头像
张苹果
发布2022-10-04 20:30:30
2790
发布2022-10-04 20:30:30
举报
文章被收录于专栏:vae

一,创建一个自定义模块 a.js,使用module.exports暴露出去。

代码语言:javascript
复制
console.log('这是用户自定义模块a')
const name='张三'
function show(){
 console.log('显示'+name)
}
//向module.exports对象上挂载属性,暴露出去
module.exports={name,show}

二,加载上面的自定义模块。得到 module.exports 对象。

代码语言:javascript
复制
//1,加载用户自定义模块,可以省略.js后缀名。
const a=require('./a.js')
//得到 module.exports 对象
console.log(a) //{ name: '张三', show: [Function: show] }
console.log(a.show())

演示module对象。

  1. 每个.js自定义模块中都有一个module对象,它里面存储了当前模块有关的信息。
  2. module.exports和exports是同一个对象。
  3. 最终都是module.exports指向的对象。
代码语言:javascript
复制
//每个.js自定义模块中都有一个module对象,它里面存储了当前模块有关的信息。
console.log(module)
// module.exports和exports是同一个对象
//最终都是module.exports指向的对象
console.log(module.exports)
console.log(exports)
console.log(module.exports==exports) //true
/**
 *    打印如下:
 *          Module {
                  id: '.',
                  path: 'E:\\node.js教学\\6,模块化',
                  exports: {},
                  parent: null,
                  filename: 'E:\\node.js教学\\6,模块化\\2,演示module对象.js',
                  loaded: false,
                  children: [],
                  paths: [
                    'E:\\node.js教学\\6,模块化\\node_modules',
                    'E:\\node.js教学\\node_modules',
                    'E:\\node_modules'
                  ]
                }
            module.exports 对象,可以将模块内的成员共享出去,供外界使用。
            外界用require()方法导入自定义模块时,得到的就说module。exports所指的对象
 * */

module和module.exports的使用误区。

  1. 时刻谨记:require() 模块时,得到的永远时module.exposts指向的对象。
代码语言:javascript
复制
//时刻谨记,require() 模块时,得到的永远时module.exposts指向的对象
    案例一 
            exports.user='张三'
 module.exports={name:'李四' }
            结果  {name:'李四'}
    实例二
 module.exports.user='张三'
            exports={name:'李四'}
            结果  {user:'李四'}
    实例三
            exports.username='zs'
 module.exports.gender='男'
            结果:{username:'zs',gender:'男'}
    实例四
            exports={ name:'zs',gender:'男'}
 module.exports=exports;
 module.exports.age=18;
            结果:{name:'zs',gender:'男' age:18}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/09/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,创建一个自定义模块 a.js,使用module.exports暴露出去。
  • 二,加载上面的自定义模块。得到 module.exports 对象。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档