问题描述
我目前正在 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 (将#修改为@)