首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

node.jsexports与module.exports的区别

node.js中,每个js文件都可以当成一个模块,每个模块中,都隐含了一个名为module的对象,module对象中有一个exports属性,这个属性的功能是将模块中的变量暴露给其他模块调用。...因此node.js提供了一个变量exports作为module.exports的引用 16.js也可以写成: let name = '叶文洁' // exports 是 module.exports 的引用...console.log(exports === module.exports) // true exports.name = name exports.introduce = function (name...17.js 章北海 既然exports === module.exports,那么为何修改exports不起作用?...原因是,exports是module.exports的引用,当exports被重新赋值时,并不会影响到module.exports的值,而模块返回的是module.exports,因而只有给module.exports

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    node.js的模块化及reqire与exports释义

    模块引入 模块化是node.js的核心概念,node.js对于服务端的操作都是封装成一个个独立的核心模块,以文件读写模块File System为例: // 引入文件操作模块 let fs = require...node.js模块 require node.js是经由require关键字引入模块,模块分为:自带的核心模块,自定义的模块。...此时,就需要使用exports将模块的变量/方法暴露出来,以供引用方调用。 exports 在node中,一个文件就是一个模块。...[master] ⚡ node 05.js { name: '三体', goal: [Function] } 三体 地球三体组织的目标是:消灭人类暴政,世界属于三体 由此可知,exports是一个对象...,如果模块要对外暴露变量,就需要将变量赋予作为exports的属性

    41420

    exports 和 module.exports 的区别

    我们只需知道三点即可知道 exports 和 module.exports 的区别了: exports 是指向的 module.exports 的引用 module.exports 初始值为一个空对象...; } 其实是对 exports 进行了覆盖,也就是说 exports 指向了一块新的内存(内容为一个计算圆面积的函数),也就是说 exports 和 module.exports 不再指向同一块内存...= module.exports 原因也很简单, module.exports = somethings 是对 module.exports 进行了覆盖,此时 module.exportsexports...的关系断裂,module.exports 指向了新的内存块,而 exports 还是指向原来的内存块,为了让 module.exportsexports 还是指向同一块内存或者说指向同一个 “对象...”,所以我们就 exports = module.exports

    68210

    exports和module.exports介绍

    为了让nodejs开发过程中,为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统,模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。...换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。...在nodejs中,提供了exports和module.exports导出模块, require对象从外部获取一个模块的,即所获取模块的 exports或者module.exports导出的模块。...如果你希望你的模块就想为一个特别的对象类型,请使用module.exports;如果希望模块成为一个传统的模块实例,请使用exports.xx方法;module.exports才是真正的接口,exports...最终返回给调用的是module.exports而不是exports

    1.5K20

    exports 和 module.exports 的区别

    但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 exports 和 module.exports 的关系,我们先来巩固下 js 的基础。...明白了上述例子后,我们只需知道三点就知道 exports 和 module.exports 的区别了: module.exports 初始值为一个空对象 {} exports 是指向的 module.exports...的引用 require() 返回的是 module.exports 而不是 exports 现在我们来看 Node.js 官方文档的截图: ?...我们经常看到这样的写法: exports = module.exports = somethings 上面的代码等价于: module.exports = somethings exports = module.exports...原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exportsexports

    1.1K40

    module.exportsexports,应该用哪个

    Node.js 编程中,模块是独立的功能单元,可以在项目间共享和重用。作为开发人员,模块让我们的生活更轻松,因为我们可以使用模块来增强应用程序的功能,而无需亲自编写。...CommonJS (CJS)[2]格式用于Node.js,使用require和module.exports来定义依赖和模块。npm 生态系统就是基于这种格式构建的。...Universal Module Definition (UMD)[4]格式可以用于浏览器和Node.js。当一个模块需要被多个不同的模块加载器导入时,它就会非常有用。...请注意,本文仅涉及 Node.js 的标准 CommonJS格式。 引入模块 Node.js带来了一系列内置模块,这样我们就可以直接在代码中使用而不需要安装它们。...我希望本文能为你介绍如何在 Node.js 中使用模块,并帮助你揭开模块语法的神秘面纱。

    18020

    nodejs中module.exportsexports区别?

    请牢记一条原则:无论使用 exports 暴露成员,或是 module.exports 暴露成员,最终暴露的结果,都是以 module.exports 所指向的对象为准。...exports 是 node 为了简化向外共享成员的代码,提供的一个新方式,在默认情况下,exports 和 module.exports 指向的是同一个对象(为了不混淆,你可以理解为 exports...是 module.exports 对象地址的一个引用,exports 本质是一个变量) 两者没有区别,是全等的 注意: 在使用 module.exports 时,我们可以将某一个对象赋值给 module.exports...原因是因为 exports 在默认情况下是指向 module.exports 对象的引用,如果为 exports 赋值了,那么也就是说 exports 不再指向 module.exports 所指的对象的地址...重要结论:module.exportsexports 同指一个对象,但是最终暴露结果以 module.exports 的为准,上面的代码中,exports 改变了指向,而我们又没有为 module.exports

    67330

    module.exportsexports、export、export default之间的关系和区别

    对于module.exportsexports和export、export default之间的关系以及他们的区别一直处于懵逼状态的小伙伴,本篇文章带你走进新大陆。...模块化的规范:  服务器端规范主要是CommonJS,node.js用的就是CommonJS规范。  客户端规范主要有:AMD(异步模块定义,推崇依赖前置)、CMD(通用模块定义,推崇依赖就近)。...: 为了方便,Node为每个模块提供一个exports变量,指向module.exports。...let exports = module.exports; !!! 这里要注意: 不能直接将exports变量指向一个值,因为这样等于切断了exports与module.exports的联系。...let exports = module.exports let appid = '123456' // 错误写法 exports = { appid } // 正确写法 exports.appid

    86310

    require时,exports和module.exports的区别你真的懂吗?

    大家哦读知道 Node.js 遵循 CommonJS 规范,使用 require 关键字来加载模块。...因为在 C++ 中通常使用#IFNDEF等关键字来避免文件的重复引入,但是在 Node.js 中无需关心这一点,因为 Node.js 默认先从缓存中加载模块,一个模块被加载一次之后,就会在缓存中维持一个副本...require() 的缓存策略 Node.js 会自动缓存经过 require 引入的文件,使得下次再引入不需要经过文件系统而是直接从缓存中读取。...使用的一点建议 建议:在使用的时候更建议大家使用module.exports(根据下面的例子也能得出) Node.js 认为每个文件都是一个独立的模块。...“module.exports” 和“exports” 这之间区别是很重要的,而且经常会使 Node.js 新手踩坑。 交流学习 大家好,我是koala,公众号「程序员成长指北」作者。

    1.6K20
    领券