node:internal/process/esm_loader:94 internalBinding('errors').triggerUncaughtException(^
错误 [ERR_MODULE_NOT_FOUND]: Cannot find module 'D:\work\MERN\memoryApp\server\routes\post' 从 D:\work\MERN\memoryApp\server\index.js 导入你的意思是要导入吗? ./routes/post.js?在新的 NodeError (node:internal/errors:371:5) at finalizeResolution (node:internal/modules/esm/resolve:418:11) at moduleResolve (node:internal/modules/esm/resolve:981:10) at defaultResolve (node:internal/modules/esm/resolve:1078:11) 在 ESMLoader.resolve (node:internal/modules/esm/loader:530:30) 在 ESMLoader.getModuleJob (node:internal/modules/esm/loader:251 :18) 在 ModuleWrap。 (node:internal/modules/esm/module_job:79:40) 在链接 (node:internal/modules/esm/module_job:78:36) { code: 'ERR_MODULE_NOT_FOUND' }
import express from "express"
import bodyParser from "body-parser"
import mongoose from "mongoose"
import cors from "cors"
import postRoutes from "./routes/post"
const app=express();
app.use("/post",postRoutes);
app.use(bodyParser.json({limit:'22mb',extended:true}));
app.use(bodyParser.urlencoded({limit:'22mb',extended:true}));
app.use(cors());
const CONNECTION_URL="mongodb+srv://memoryApp:memoryApp@cluster0.i3xr8.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"
const PORT=process.env.PORT || 5000
mongoose.connect(CONNECTION_URL,{useNewUrlParser:true,useUnifiedTopology:true})
.then(()=>app.listen(PORT,()=>console.log(`Server is running on: ${PORT}`)))
.catch((err)=>console.log(err.message))
回答1
就我而言,我只是使用“./routes/post”而不是“./routes/post.js”来导入 postRouter。这很有趣,但它有效,有人能告诉我为什么吗?