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

在Node.js中声明多个module.exports

龙正初
2023-03-14
问题内容

我要实现的目标是创建一个包含多个功能的模块。

module.js:

module.exports = function(firstParam) { console.log("You did it"); },
module.exports = function(secondParam) { console.log("Yes you did it"); }, 
// This may contain more functions

main.js:

var foo = require('module.js')(firstParam);
var bar = require('module.js')(secondParam);

我的问题是,这firstParam是一个对象类型,而这secondParam是一个URL字符串,但是当我遇到该问题时,它总是抱怨该类型是错误的。

在这种情况下,如何声明多个module.exports?


问题答案:

您可以执行以下操作:

module.exports = {
    method: function() {},
    otherMethod: function() {},
};

要不就:

exports.method = function() {};
exports.otherMethod = function() {};

然后在调用脚本中:

const myModule = require('./myModule.js');
const method = myModule.method;
const otherMethod = myModule.otherMethod;
// OR:
const {method, otherMethod} = require('./myModule.js');


 类似资料:
  • 问题内容: 在JavaScript中,可以这样声明多个变量: …或像这样: 一种方法比另一种更好/更快吗? 问题答案: 第一种方法更易于维护。每个声明都是一行上的单个语句,因此您可以轻松地添加,删除和重新排列声明。 使用第二种方法时,删除第一个或最后一个声明很烦人,因为它们包含关键字和分号。每次添加新的声明时,都必须将旧行中的分号更改为逗号。

  • 在这个 nodejs 代码中, 那个… “声明变量”和“变量”有什么区别? 当我在谷歌上搜索时,我得到了runtime这个词。 wiki说运行时是计算机程序运行时的一种操作.... 但我不能理解。 第1行,“进程”之后的“:”和“NodeJS.进程”是什么意思? 这是否意味着“进程”等于“NodeJS.process”? 还有第4行,在“__filename”和“string”之后的“:”是什么意

  • 我想知道如何在Spock规范中定义一行中的多个变量,而不需要初始化,如下所示。 我试过: 但是,当访问b:没有这样的属性:b 我正在使用:

  • 我试图实现的是创建一个包含多个功能的模块。 模块. js: 我遇到的问题是,是一个对象类型,是一个URL字符串,但是当我有这个时,它总是抱怨类型是错误的。 这种情况下如何申报多个module.exports?

  • 我正在对这些注释使用基本集成测试: 运行测试时,出现以下错误: 该错误是由以下注释引起的:SpringBootTest和DataMongoTest,包括BootstrapWith,如下所示: 我需要继续使用SpringBootTest进行SpringBootTest。WebEnvironment。RANDOM\u端口,但我还需要来自DataMongoTest的嵌入式mongodb 有什么建议吗?

  • 你好,Iam在spring(IntelliJ IDEA终极版)中使用AspectJ风格的AOP时遇到了麻烦。不使用方面时,输出与预期相同。但是当我将方面类受众声明为Bean时,我得到了Macbeth类的NoSuchBeanDefinitionException。 2017年8月27日上午9:38:39 org.springframework.context.annotationconfigappl