JS函数怎样定义函数模块导出_JS函数模块导出定义与功能暴露方法

JavaScript中通过ES6模块或CommonJS导出函数以实现代码复用与封装。使用export导出命名函数,import导入;或用export default设置默认导出,在Node.js中则通过module.exports导出,require引入,从而实现模块化管理。

在JavaScript中,定义函数并将其作为模块导出,是为了实现代码的复用、封装和按需加载。现代JS支持多种模块化方案,最常见的是ES6模块(ESM)和CommonJS(主要用于Node.js)。下面介绍如何定义函数以及如何通过不同模块系统将其导出和使用。

定义函数并使用ES6模块导出

ES6模块是浏览器和现代Node.js环境推荐的标准方式。你可以使用 export 关键字导出一个或多个函数。

例如,创建一个文件 mathUtils.js

// 定义函数
function add(a, b) {
  return a + b;
}

function subtract(a, b) { return a - b; }

// 导出函数(命名导出) export { add, subtract };

// 或者直接在函数前导出 export function multiply(a, b) { return a * b; }

在另一个文件中导入使用:

import { add, multiply } from './mathUtils.js';

console.log(add(2, 3)); // 5 console.log(multiply(2, 4)); // 8

使用默认导出(Default Export)

如果你只想导出一个主要功能,可以使用 default 导出。

// singleFunc.js
function greet(name) {
  return `Hello, ${name}!`;
}

export default greet;

导入时可以自定义名称:

import myGreet from './singleFunc.js';
console.log(myGreet('Alice')); // Hello, Alice!

在Node.js中使用CommonJS导出函数

在旧版Node.js环境中,使用 module.exportsexports 导出函数。

// utils.js (CommonJS)
function sayHi(name) {
  return `Hi, ${name}`;
}

function double(x) { return x * 2; }

// 导出多个函数 module.exports = { sayHi, double };

导入使用 require

const { sayHi, double } = require('./utils');

console.log(sayHi('Bob')); // Hi, Bob console.log(double(5)); // 10

模块导出的核心作用:功能暴露与封装

通过模块导出机制,你可以:

  • 只暴露需要的函数,隐藏内部实现细节
  • 避免全局变量污染
  • 提升代码组织性和可维护性
  • 支持 tree-shaking(ESM下未使用的函数不会被打包)

合理使用命名导出和默认导出,能让其他开发者更清晰地使用你的模块。

基本上就这些。根据运行环境选择ES6模块或CommonJS,定义函数后通过对应语法导出即可。