You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中如何调用module.exports导出的单个函数?

如何导入导出单个函数模块

嘿,我来帮你搞定这个问题!你已经熟练掌握了导出多个函数的方式,那针对这种直接导出单个函数的情况其实更简单,咱们拆解来看:

首先看导出侧

你提到的这种写法:

module.exports = function() {
  var thisObj = {}; // 注意:这里不能用`this`当变量名,`this`是JS关键字,会报错!
  var thatObj = {};
  // ... 更多代码
  return someValue; // 可选:函数可以返回值
};

本质是把整个模块的导出值直接设为这个函数本身,而不是一个包含多个函数的对象。也就是说,当其他文件导入这个模块时,拿到的就是这个函数,而不是一个需要解构的对象。

然后是导入和调用

根据你使用的模块系统(CommonJS 或 ES6 模块),有两种常见方式:

方式1:CommonJS(Node.js 默认)

在要调用的文件里,直接用require导入这个函数,然后像普通函数一样调用:

// 导入函数
const myExportedFunc = require('./path-to-your-file.js');

// 调用函数(如果函数有参数,直接传进去就行)
const functionResult = myExportedFunc();
// 如果函数接受参数:myExportedFunc('参数1', 2, { key: 'value' });

方式2:ES6 模块(需要环境支持)

如果你的项目用了 ES6 模块(比如 Node.js 中把文件后缀改成.mjs,或者在package.json里设置"type": "module"),可以用import语法:

// 导入函数
import myExportedFunc from './path-to-your-file.js';

// 调用方式和上面一样
const functionResult = myExportedFunc();

举个完整例子

假设你有一个叫single-function.js的文件:

module.exports = function(greeting) {
  const message = `${greeting}, 这是导出的单个函数返回的内容!`;
  console.log(message);
  return message;
};

然后在app.js里调用:

const sayHello = require('./single-function.js');
const result = sayHello('Hi');
// 控制台会输出:Hi, 这是导出的单个函数返回的内容!
console.log(result); // 也会打印同样的内容

是不是很简单?核心就是记住:这种导出方式下,模块本身就是这个函数,导入后直接调用就行~

内容的提问来源于stack exchange,提问作者joe123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:26:50