Node.js 中实现 ES6 Export 和 Import 模块化的方法

作者:接口漫谈

时间:2026-10-22

浏览:604

Node.js 6.x 版本原生不支持 ES6 的 export 和 import 模块化语法。本文介绍如何通过 Babel 工具进行编译,将 ES6 代码转换为 Node.js 支持的 CommonJS 格式。详细说明了在 package.json 中添加 Babel 配置、安装相关依赖模块,以及使用命令行执行转换的具体步骤,使开发者能在 Node.js 环境中使用 async/await 等现代特性。

文章目录

Node.js 对 ES6 模块的支持现状

Node.js 6.x 版本尚未原生支持 export 和 import 语法。

import 与 export 属于 ES6 标准中的模块化导入与导出机制,Node.js 当前版本无法直接运行,必须借助 Babel 进行编译处理,将其转换为 Node.js 可识别的模块化代码(关于 Node.js 模块化的更多内容,可参考其他相关技术文章)。

在无法直接使用新语法的场景下,开发者可继续沿用传统的 exports 和 require 方式。

示例文件 test.js 的代码如下:


class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  add (){
    this.x = this.x ? this.x : 1;
    this.y = this.y ? this.y : 2;
    return this.x + this.y;
  }
}
const PI = 3.1415926;
exports.Point = Point;
exports.PI = PI;
let a = new Point();
console.log(a.add());

示例文件 test2.js 的代码如下:


let {Point,PI} = require('./test.js');
class Point2 extends Point{

  //add();
}

let b = new Point2();
console.log(b.add());
console.log(PI);

通过 Babel 实现 Export 和 Import 支持

若需使用 Babel 来支持 export 和 import 语法,需进行以下配置。

首先,在 package.json 文件中增加 Babel 的相关配置项。


 "babel": {
  "presets": ["es2015"]
 },
 "scripts": {
  "start": "node app/51job.js",
  "build": "babel src -d app"
 },

接着,安装 Babel 所需的依赖模块。


npm install --save-dev babel-cli
npm install babel-preset-es2015 --save-dev

在命令行中执行 npm run build 命令,即可将 src 目录下的所有 JavaScript 文件转换为标准的 JavaScript 代码并输出至 lib 目录。转换完成后,async 和 await 语法均可正常使用。

以上即为本文的全部内容,希望对各位的学习有所帮助,也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章