【发布时间】:2020-06-22 00:02:06
【问题描述】:
这让我发疯了。如何让 typescript 正确编译导入的模块?我的 main.ts 有 import { AddListeners } from './listeners'; 这也是一个带有 export function AddListeners() 的 .ts 文件,但是当编译到 main.js 时,此行不会更改并且节点会抛出此错误:
错误 [ERR_MODULE_NOT_FOUND]:找不到从 C:\Users\bugbe\Documents\VSCode\tricorder\dist\main.js 导入的模块“C:\Users\bugbe\Documents\VSCode\tricorder\dist\listeners”
这是我的 tsconfig.json:
{
"compilerOptions": {
"esModuleInterop": true,
"outDir": "dist",
"module": "es2020",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2020",
"typeRoots": [
"node_modules/@types"
],
"baseUrl": "./",
"paths": {
"*":[
"node_modules/"
]
}
}
}
所以导入模块的代码没有被正确编译,因为它应该看起来像import { AddListeners } from './listeners.js';
【问题讨论】:
-
listeners.js似乎是一个javascript(不是打字稿)文件。这是正确的吗? -
我有 main.ts 和 listeners.ts 并且输出文件夹包含它们各自的 .js 文件。
-
仅供参考:删除
node_modules文件夹并运行 npm install 可以在遇到此问题时解决此问题
标签: typescript