Node.js中使用ES6语法
Max Zhang Lv4

Node.js 中使用 ES6 语法

在日常使用时候,我们可能会遇到需要在 Node.js 中使用 ES6 语法的情况。比如我们需要在 Node.js 中使用 importexport 语法。

但是直接使用 importexport 语法会报错,因为 Node.js 默认不支持 ES6 语法。

1
2
3
import fs from "fs";

// 报错 Cannot use import statement outside a module

解决方案

实际上,Node.js 从版本 12 开始已经开始原生支持大部分的 ES6 语法特性,包括箭头函数、const 和 let 声明、模板字符串、解构赋值等。然而,Node.js 在模块系统上默认使用的是 CommonJS 规范,而不是 ES6 的模块规范。

所以,我们可以通过以下两种方式来使用 ES6 语法:

  1. 使用 .mjs 文件后缀

    我们可以将文件后缀名改为 .mjs,这样 Node.js 就会将文件当作 ES6 模块来处理。

    1
    2
    // mjs 文件
    import fs from "fs";

    通过命令行运行时,直接使用 node 命令即可:

    1
    node index.mjs
  2. package.json 中配置 "type": "module"

    我们可以在 package.json 中配置 "type": "module",这样 Node.js 就会将所有的 .js 文件当作 ES6 模块来处理。

    1
    2
    3
    {
    "type": "module"
    }

    这样我们就可以直接使用 ES6 语法了:

    1
    2
    // js 文件
    import fs from "fs";

    通过命令行运行时,直接使用 node 命令即可:

    1
    node index.js
 评论
评论插件加载失败
正在加载评论插件