导入相关错误-express js

Import related errors- express js

我第一次尝试在 express-js 中使用“模块”类型 javascript。我正在尝试创建一个图书跟踪应用程序,但是当我尝试在主 js 文件中导入路由时遇到一些错误,它说找不到模块。

目录结构:

app.js:

import dotenv from "dotenv";
dotenv.config();

import express from "express";
import bodyParser from "body-parser";
import cors from "cors";
import mongoose from "mongoose";

// import routes
import authRoutes from "./routes/auth";

// db config
mongoose
  .connect(process.env.DB_URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then(() => console.log("DB Connected"))
  .catch((err) => console.log(err));
// constants
const app = express();
const port = process.env.PORT || 5001;

// middlewares
app.use(bodyParser.json());
app.use(cors());

// using routes
app.use("/api", authRoutes);

app.listen(port, () =>
  console.log(`Server is running on http://localhost:${port}/`)
);

routes/auth.js:

import express from "express";

const router = express.Router();

router.get("/auth", (req, res) => {
  res.send("Hello from auth");
});

export default router;

package.json:

{
  "name": "server",
  "version": "1.0.0",
  "main": "app.js",
  "license": "MIT",
  "type": "module",
  "dependencies": {
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "mongoose": "^6.0.5"
  }
}

错误:

Note: Other imports related to database models are all working fine!

添加 js 扩展 Node ESM 没有它就无法工作

import authRoutes from "./routes/auth.js";