首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Node.js中声明多个module.exports

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

Stack Overflow用户
提问于 2013-05-19 11:07:47
回答 15查看 386.3K关注 0票数 349

我想要实现的是创建一个包含多个函数的模块。

module.js:

代码语言:javascript
复制
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:

代码语言:javascript
复制
var foo = require('module.js')(firstParam);
var bar = require('module.js')(secondParam);

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

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

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2013-05-19 11:11:14

你可以这样做:

代码语言:javascript
复制
module.exports = {
    method: function() {},
    otherMethod: function() {},
};

或者只是:

代码语言:javascript
复制
exports.method = function() {};
exports.otherMethod = function() {};

然后在调用脚本中:

代码语言:javascript
复制
const myModule = require('./myModule.js');
const method = myModule.method;
const otherMethod = myModule.otherMethod;
// OR:
const {method, otherMethod} = require('./myModule.js');
票数 745
EN

Stack Overflow用户

发布于 2016-07-04 05:47:15

要导出多个函数,您可以像这样列出它们:

代码语言:javascript
复制
module.exports = {
   function1,
   function2,
   function3
}

然后在另一个文件中访问它们:

代码语言:javascript
复制
var myFunctions = require("./lib/file.js")

然后,您可以通过调用以下命令来调用每个函数:

代码语言:javascript
复制
myFunctions.function1
myFunctions.function2
myFunctions.function3
票数 192
EN

Stack Overflow用户

发布于 2019-02-27 13:30:20

module.js:

代码语言:javascript
复制
const foo = function(<params>) { ... }
const bar = function(<params>) { ... } 

//export modules
module.exports = {
    foo,
    bar 
}

main.js:

代码语言:javascript
复制
// import modules
var { foo, bar } = require('module');

// pass your parameters
var f1 = foo(<params>);
var f2 = bar(<params>);
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16631064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档