首页
学习
活动
专区
工具
TVP
发布

node.jsexports与module.exports的区别

node.js中,每个js文件都可以当成一个模块,每个模块中,都隐含了一个名为module的对象,module对象中有一个exports属性,这个属性的功能是将模块中的变量暴露给其他模块调用。...因此node.js提供了一个变量exports作为module.exports的引用 16.js也可以写成: let name = '叶文洁' // exports 是 module.exports 的引用...默认情况下,exports是一个对象,假设我们的需求是要得到一个字符串。要怎么弄? 也许你觉得这个很简单,直接给exports重新赋值就可以了。...17.js 章北海 既然exports === module.exports,那么为何修改exports不起作用?...同一个引用 来个更复杂点的例子: 18.js let name = '章北海' module.exports = name exports = {} exports.age = 10 module.exports

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

exports和module.exports介绍

为了让nodejs开发过程中,为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统,模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。...在nodejs中,提供了exports和module.exports导出模块, require对象从外部获取一个模块的,即所获取模块的 exports或者module.exports导出的模块。...这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。...如果你希望你的模块就想为一个特别的对象类型,请使用module.exports;如果希望模块成为一个传统的模块实例,请使用exports.xx方法;module.exports才是真正的接口,exports...换句话说module.exports导出模块时相当于创建了一个全局的对象,每次调用访问的都是这一个对象,数据是全局公用的,所以在以后的使用过程中需要注意。

1.5K20

exports 和 module.exports 的区别

但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 exports 和 module.exports 的关系,我们先来巩固下 js 的基础。...: 1 } { name: 2 } { name: 2 } { name: 2 } { name: 3 } 解释:a 是一个对象,b 是对 a 的引用,即 a 和 b 指向同一块内存,所以前两个输出一样...明白了上述例子后,我们只需知道三点就知道 exports 和 module.exports 的区别了: module.exports 初始值为一个空对象 {} exports 是指向的 module.exports...的引用 require() 返回的是 module.exports 而不是 exports 现在我们来看 Node.js 官方文档的截图: ?...原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exportsexports

1K40

module.exportsexports,应该用哪个

好吧,如果你查看user.js文件,你会注意到我们定义了一个getName函数,然后使用exports关键字让它在任意导入的地方可用。在index.js中,我们导入了该函数并执行了它。...= getName; exports.getLocation = getLocation; exports.dob = dateOfBirth; 在index.js中这么使用: const user...在exports上添加一些东西: // index.js exports.foo = 'foo'; console.log(module); 输出如下: Module { id: '....这是因为(至少最初)exports 是对 module.exports 的引用。 应该用哪个 由于 module.exportsexports 都指向同一个对象,因此使用哪个通常并不重要。...例如: exports.foo = 'foo'; module.exports.bar = 'bar'; 这段代码将导致模块的导出对象为 { foo: 'foo', bar: 'bar' }。

13220

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

模块化的规范:  服务器端规范主要是CommonJS,node.js用的就是CommonJS规范。  客户端规范主要有:AMD(异步模块定义,推崇依赖前置)、CMD(通用模块定义,推崇依赖就近)。...module.exports: // utils.js let appid = '123456' let bar = function (id) { return `编号:${id}` }...let exports = module.exports; !!! 这里要注意: 不能直接将exports变量指向一个值,因为这样等于切断了exports与module.exports的联系。...let exports = module.exports let appid = '123456' // 错误写法 exports = { appid } // 正确写法 exports.appid...export: // utils.js export const appid = '123234' export function getAppid() { return '123456' }

82010

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

exports 与 module.exports 区别 js文件启动时 在一个 node 执行一个文件时,会给这个文件内生成一个 exports 和 module 对象, 而module又有一个 exports...原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exportsexports...如果你的包有两个文件,假设是“a.js” 和“b.js”,然后“b.js” 要使用“a.js” 的功能,“a.js” 必须要通过给 exports 对象增加属性来暴露这些功能: // a.js exports.verifyPassword...= function(user, password, done) { ... } 完成这步后,所有需要“a.js” 的都会获得一个带有“verifyPassword” 函数属性的对象: // b.js.... } 注意到我们是把“exports” 当做 module 对象的一个属性。

1.6K20
领券