在 Node.js 中找不到本地模块

编程入门 行业动态 更新时间:2024-10-10 06:22:02

在 Node.js <a href=https://www.elefans.com/category/jswz/34/1771061.html style=中找不到本地模块"/>

在 Node.js 中找不到本地模块

在 Node.js 中,我创建了自己的自定义模块,称为

apiEndpoints.js
。但是,当我尝试访问它时,我收到 Node.js 无法找到模块的错误。下面是我的
Server.js
代码:

import express from "express";
import mongoose from "mongoose";
import Cors from "cors";
import apiEndpoints from "./routes/apiEndpoints";

// Initialization
const app = express();
const port = process.env.port || 80;
const connection_url =
  "mongodb+srv://admin:[email protected]/appDB?retryWrites=true&w=majority";

// Middleware
app.use(express.json());
app.use(Cors());

// DB Config
mongoose.connect(connection_url);

// API Endpoints
app.use(apiEndpoints);

app.listen(port, () => {
  console.log(`Listening on localhost: ${port}`);
});

下面是我的

apiEndpoints.js
代码:

import express from "express";
import Users from "../models/users";

const router = express.Router();

router.get("/users", (req, res) => {
  Users.find((err, data) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(data);
    }
  });
});

router.get("/user/:username", (req, res) => {
  const username = req.params.username;

  Users.findOne({ username: username }, (err, data) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(data);
    }
  });
});

router.post("/user/create", (req, res) => {
  const user = req.body;

  Users.create(user, (err, data) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(201).send(data);
    }
  });
});

router.put("/user/:username", (req, res) => {
  const username = req.params.username;
  const updatedData = req.body;

  Users.findOneAndUpdate(
    { username: username },
    updatedData,
    { new: true },
    (err, data) => {
      if (err) {
        res.status(500).send(err);
      } else {
        res.status(200).send(data);
      }
    }
  );
});

router.delete("/user/delete/:username", (req, res) => {
  const username = req.params.username;

  Users.findOneAndDelete({ username: username }, (err, data) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(data);
    }
  });
});

export default router;

而且,这是我的文件夹结构:

另外,下面是我的

package.json
文件:

{
  "name": "api",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "mongoose": "^6.0.4"
  }
}

所以我的问题是为什么当

Server.js
尝试访问
apiEndpoints.js
时它说“找不到模块”?

回答如下:

好吧,经过几个小时的努力,我终于解决了我的问题。所以我的问题是我没有为 Node.js 正确设置 es6。因此,我遵循了 Medium 上的this 教程,并能够使用 Babel 正确设置 es6。然后,我在所有导入中添加了

.js
文件扩展名,它起作用了。

更多推荐

在 Node.js 中找不到本地模块

本文发布于:2024-05-13 16:27:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760078.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:中找   模块   Node   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!