如何在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
相关产品推荐
相关产品推荐

