找不到模块”错误而无法运行已编译的 TypeScript 代码"/>
由于“找不到模块”错误而无法运行已编译的 TypeScript 代码
这是我的 tsconfig.json 配置:
{
"compilerOptions": {
"target": "es2016",
"lib": ["es6"],
"module": "commonjs",
"rootDir": "./",
"baseUrl": "./",
"resolveJsonModule": true,
"allowJs": true,
"outDir": "build",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": false,
"noImplicitAny": false,
"skipLibCheck": true
},
"ts-node": {
"swc": true
}
}
我在
baseUrl
的帮助下在代码中使用相对导入。
使用
tsc -p .
编译代码没有任何问题,但是当我尝试使用NODE_PATH=./build node ./build/app.js
运行它时,我遇到以下错误:
Error: Cannot find module '<PROJECT_FOLDER_NAME>/app/listeners/module.ts'
Require stack:
{
code: 'MODULE_NOT_FOUND',
requireStack: [
'<PROJECT_FOLDER_NAME>/bot/build/app/listeners.js',
'<PROJECT_FOLDER_NAME>/bot/build/app.js'
]
}
listeners.js中,循环读取
app/listeners
文件夹下的所有文件,并调用模块中默认导出的函数。
我不知道这是否是预期的行为,但看起来它在
app
下搜索 TypeScript 模块,而不是在 build/app
下寻找 JS 版本。
如何解决这个问题并成功运行我编译的 TypeScript 代码?
回答如下:更多推荐
由于“找不到模块”错误而无法运行已编译的 TypeScript 代码
发布评论