【发布时间】:2021-10-25 03:16:46
【问题描述】:
node v16.11.0ts-node v10.4.0tsc v4.4.4
我正在将 node.js 项目转换为 typescript。我想为此使用typescript 和nodemon。我觉得我快到了,但是当我尝试导入我的类型声明文件时,我遇到了一个令人毛骨悚然的错误。 eg: *.d.ts
Error: Cannot find module '../types/discord' 此错误不会出现在编辑器中,因为在 vs-code 中正确显示了类型并且路径解析为文件。只有在运行ts-node ./src/index.ts 时才会显示以下错误。 npm run dev 只运行 nodemon,执行 ts-node ./src/index.ts...
❯ npm run dev
> <project_name>@1.0.0 dev
> NODE_ENV=development nodemon
[nodemon] 2.0.14
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): src/**/*
[nodemon] watching extensions: ts
[nodemon] starting `ts-node ./src/index.ts`
Error: Cannot find module '../types/discord'
Require stack:
- /Users/<me>/src/<project_name>/src/index.ts
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/Users/<me>/src/<project_name>/node_modules/@cspotcode/source-map-support/source-map-support.js:679:30)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/Users/devin/src/wordsmith/src/index.ts:4:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (/Users/devin/src/wordsmith/node_modules/ts-node/src/index.ts:1371:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (/Users/<me>/src/<project_name>/node_modules/ts-node/src/index.ts:1374:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/Users/<me>/src/<project_name>/src/index.ts' ]
}
[nodemon] app crashed - waiting for file changes before starting..
-编辑-
我什至可以删除导入语句,我的编辑器仍然可以正确看到类型文件。即使tsc 也可以。但是ts-node,出于某种原因,没有。
[nodemon] restarting due to changes...
[nodemon] starting `ts-node ./src/index.ts`
/Users/<me>/src/<project>/node_modules/ts-node/src/index.ts:750
return new TSError(diagnosticText, diagnosticCodes);
^
TSError: ⨯ Unable to compile TypeScript:
src/index.ts:11:8 - error TS2339: Property 'commands' does not exist on type 'Client<boolean>'.
我不明白为什么这不起作用。我知道该文件位于正确的位置,并且正在为 TS 应用程序正确导入。但是 ts-node 无法解决它。
任何帮助将不胜感激。这是我的tsconfig.json:
{
"compilerOptions": {
"rootDir": "./src",
"typeRoots": [
"./src/@types",
"./node_modules/@types",
],
"outDir": "./dist",
},
"exclude": ["node_modules"],
"extends": "@tsconfig/node16/tsconfig.json",
}
如果 ts-node 不再是这样做的方式,我什至想要其他工具的使用建议。我花在类型声明上的时间比实际项目上要多。
【问题讨论】:
标签: node.js typescript ts-node