当前位置: 首页 > 面试题库 >

Node.js中的module.exports与export

夹谷成仁
2023-03-14
问题内容

我在Node.js模块中找到了以下合同:

module.exports = exports = nano = function database_module(cfg) {...}

我不知道什么之间的不同module.exportsexports为什么都被用在这里。


问题答案:

设置module.exports允许在database_module时像函数一样调用函数required。简单地设置exports将不允许导出函数,因为节点导出了对象module.exports引用。以下代码不允许用户调用该函数

module.js

以下内容无效。

exports = nano = function database_module(cfg) {return;}

如果module.exports设置以下内容,则将起作用。

module.exports = exports = nano = function database_module(cfg) {return;}

安慰

var func = require('./module.js');
// the following line will **work** with module.exports
func();

基本上, node.js 不会导出exports当前引用的对象,而是导出exports最初引用的对象的属性。尽管 Node.js
确实导出了对象module.exports引用,但允许您像调用函数一样调用它。

第二个最不重要的原因

他们设置了两者module.exportsexports确保exports未引用先前的导出对象。通过将两者都设置exports为简写,可以避免以后出现潜在的错误。

使用exports.prop = true 而不是module.exports.prop = true保存字符并避免混淆。



 类似资料:
  • 问题内容: Node 和ES6 之间有什么区别?我试图弄清楚为什么在Node.js 6.2.2中尝试出现“ __不是构造函数”错误。 什么有效 什么 不 工作 问题答案: 问题是 如何在CommonJS中模拟ES6模块 您如何导入模块 ES6到CommonJS 在撰写本文时,没有环境本地支持ES6模块。在Node.js中使用它们时,您需要使用Babel之类的东西将模块转换为CommonJS。但是那

  • 本文向大家介绍node.js中module.exports与exports用法上的区别,包括了node.js中module.exports与exports用法上的区别的使用技巧和注意事项,需要的朋友参考一下  Node.js 引入了模块(Module)概念,一个模块可以通过module.exports 或 exports 将函数、变量等导出,以使其它 JavaScript 脚本通过require(

  • Node的 和ES6的 有什么区别?我试图弄清楚为什么在Node.js6.2.2中尝试 时会出现“__is not a constructor”错误。

  • 本文向大家介绍详解Node.js中exports和module.exports的区别,包括了详解Node.js中exports和module.exports的区别的使用技巧和注意事项,需要的朋友参考一下 今天看了下node.js的require方法的源码,终于搞清楚exports和module.exports的区别了。 我们知道,node.js的模块暴露有两种方法。 1. 方式一:用exports

  • 问题内容: 我要实现的目标是创建一个包含多个功能的模块。 module.js: 我的问题是,这是一个对象类型,而这是一个URL字符串,但是当我遇到该问题时,它总是抱怨该类型是错误的。 在这种情况下,如何声明多个module.exports? 问题答案: 您可以执行以下操作: 要不就: 然后在调用脚本中:

  • 本文向大家介绍module.exports与exports的区别是什么?相关面试题,主要包含被问及module.exports与exports的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 exports 返回的是模块函数 module.exports 返回的是模块对象本身,返回的是一个类 使用上的区别是 exports的方法可以直接调用 module.exports需要new对象之后才