无法修复错误 [ERR_MODULE_NOT_FOUND]:找不到模块 Node JS

问题描述

我目前正在 Nodejs 中开发 API,但我在导入时遇到问题,无法修复它们。 我仍然有错误

 **Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/xxxx/WebstormProjects/app/src/loaders/index' imported from /Users/xxxx/WebstormProjects/app/src/index.js
 new NodeError (node:internal/errors:363:5)
    at finalizeResolution (node:internal/modules/esm/resolve:307:11)
    at moduleResolve (node:internal/modules/esm/resolve:742:10)
    at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:853:11)
    at Loader.resolve (node:internal/modules/esm/loader:89:40)
    at Loader.getModuleJob (node:internal/modules/esm/loader:242:28)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:73:40)
    at link (node:internal/modules/esm/module_job:72:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

我将以我的加载器中的 express 模块为例:

我的主要index.js

import { expressInit} from "./loaders/express";
require('dotenv').config();

expressInit();

我的文件express.ts

import { HOSTNAME,PORT } from "../config/config";
const express = require( "express")
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors')
const users = require("../api/routes/userRoute")


 export function expressInit() {
app.get('/status',(req:any,res: any) => {
    res.status(200).end();
});
app.head('/status',res:any) => {
    res.status(200).end();
});

app.enable('trust proxy');
app.use(cors());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.json())
app.use('/users',users)

app.listen(PORT,HOSTNAME,function() {
    console.log('Your server is ready');
    console.log('Server running at http://'+ HOSTNAME + ':' + PORT + '/');
});
app.get('/',res:any) => {
    res.send('express connected');
})

};

我尝试了几种方法,例如将 "type": "module" 放入我的 package.json 等中,但没有任何帮助。

添加了我的 package.json 和 ts.config :

{
  "name": "app","version": "1.0.0","description": "","main": "src/index.js","type": "module","scripts": {
    "test": "echo \"Error: no test specified\" && exit 1","babel-node": "babel-node --presets='@babel/preset-env' --ignore='foo|bar|baz'","start:dev": "nodemon --exec npm run babel-node -- src/index.js","start:debug": "nodemon --inspect src/app.js","build": "rimraf ./build && tsc"
  },"keywords": [],"author": "SarahB","license": "ISC","devDependencies": {
    "@babel/core": "^7.14.2","@babel/node": "^7.14.2","@babel/preset-env": "^7.14.2","@types/mongoose": "^5.10.5","@types/node": "^15.3.0","eslint": "^7.26.0","nodemon": "^2.0.7","rimraf": "^3.0.2","ts-node": "^9.1.1","tslint": "^6.1.3","typescript": "^4.2.4"
  },"dependencies": {
    "@babel/register": "^7.13.16","@types/dotenv": "^8.2.0","@types/express": "^4.17.11","babel": "^6.23.0","body-parser": "^1.19.0","cors": "^2.8.5","dotenv": "^9.0.2","express": "^4.17.1","mongoose": "^5.12.9"
  }
}


ts.config : 

{
    "compilerOptions": {
        "module": "commonjs","esModuleInterop": true,"allowSyntheticDefaultImports": true,"target": "ES6","noImplicitAny": true,"moduleResolution": "node","sourceMap": true,"outDir": "dist","baseUrl": ".","paths": {
            "*": [
                "node_modules/*","src/types/*"
            ]
        }
    },"include": [
        "src/**/*"
    ]
}

感谢您的帮助。我已经阅读了很多关于它的东西,尝试了很多东西,但我不明白为什么它不起作用。 PS:我使用:

  • nodemon
  • 打字稿和 ts-node
  • 和巴别塔。

谢谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)