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

如何在Express.js中用import替代require实现路由路径简化

解决方案

要在保留原有路由简化逻辑的前提下,将app.js的require语法替换为import,需完成以下步骤:

1. 配置项目支持ES模块

在项目根目录的package.json中添加"type": "module"字段,让Node.js将所有.js文件识别为ES模块:

{
  "name": "your-project-name",
  "type": "module",
  // 其他原有配置字段...
}

2. 修改app.js的导入语法

将原有的require替换为import,路由简化的核心逻辑完全保留:

import express from "express";

const app = express();
const port = 4000;

app.get("/", (req, res) => res.send("Testing on Mac"));

import get_stocks from "./routes/show-stocks.js";
app.use("/show-stocks", get_stocks);

app.listen(port, () => console.log("Testing on Mac on port: " + port));

注意:ES模块导入本地文件时,建议显式添加.js后缀,避免路径解析异常。

3. 统一路由文件的导出语法

修改/routes/show-stocks.js的导出语句,从CommonJS的module.exports改为ES模块的export default:

import express from "express";
const router = express.Router();

router.get("/btc", (req, res) => {
  // ... 原有业务逻辑
});

router.get("/ada", (req, res) => {
  // ... 原有业务逻辑
});

router.get("/eth", (req, res) => {
  // ... 原有业务逻辑
});

router.get("/doge", (req, res) => {
  // ... 原有业务逻辑
});

export default router;

验证效果

重启Express服务器后,用户仍可通过/show-stocks/btc、/show-stocks/eth等路径访问对应路由,原有路由简化逻辑完全生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:48:19