ES6 是 Node 的必由之路

2025-06-10

ES6 是 Node 的必由之路

我们中有多少人仍在 NodeJS 应用程序中使用旧的 ES 语法?

const express = require('express');
const app = express()

app.use(express.static('public'));

app.get('/',function (req,res) {
    res.send('ES what?');
})

app.listen(3000, function () {
  console.log('App listening on port 3000!')
})
Enter fullscreen mode Exit fullscreen mode

我敢打赌我们大多数人都犯过这种错误,不幸的是,我也犯过同样的错误!我们继续在 Node 中使用这种语法的原因是,大多数模板和示例代码都基于此。但自Node 14.ximport发布以来,ES 模块已获得官方支持并保持稳定。但人们不应该仅仅因为要迁移就迁移。迁移通常需要权衡利弊。经过一番研究和实验,我得出结论,使用 ES6 实际上有三大优势require

  • import有助于选择性地加载所需的代码片段
  • import还有助于节省应用程序加载的内存
  • require()的加载是同步的,而import的加载可以是异步的;这为大型应用程序提供了性能优势。

所以自然而然的问题是,在你的节点项目中使用 ES6 语法需要什么?

让我们开始吧!

设置 package.json

需要注意的是,Node.js 不直接支持 ES6 的 import 语句。如果我们尝试import在 Node.js 中使用 import 关键字来导入模块,无疑会报错。例如,如果我们尝试导入 express 模块,Node.js 会报错如下:
图像

为了使 Node 支持 ES 模块,我们需要调整 package.json 文件。在文件根目录package.json添加以下内容:"type": "module"

//package.json
{
  "name": "index",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
  "dependencies": {
    "express": "~4.16.1",
  }
}
Enter fullscreen mode Exit fullscreen mode

然后运行以下命令来更新 package.json 的更改

npm i
Enter fullscreen mode Exit fullscreen mode

将应用代码更新为 ES6 语法

更新package文件后,我们必须对应用程序的代码进行如下相关更改:

import express from 'express';

const app = express();

app.get('/',(req,res) => {
    res.send('ES6 is the Node way to go');
})

app.listen(3000,() => {
    console.log(`App listening on port 3000!`);
})
Enter fullscreen mode Exit fullscreen mode

运行您的应用程序,它应该可以使用更新的 ES 语法!

我最近更新了我的演示应用程序Random Cat Facts以使用新语法,并建议检查更新 ES6 提交差异以获取此迁移的真实示例。

感谢您的关注,请务必关注我的下一篇文章!

==== 在社交媒体上关注我( @mrinasugosh) ====
Dev.to: @mrinasugosh
Github: @mrinasugosh
Twitter: @mrinasugosh
LinkedIn: @mrinasugosh

鏂囩珷鏉ユ簮锛�https://dev.to/mrinasugosh/es6-is-the-node-way-to-go-3715
PREV
JavaScript 中的机器学习基础知识
NEXT
node.js 中的忘记密码和密码重置流程