成功编译了我的TypeScript项目后,我打算使用ts-node
在VS代码的调试模式下运行它.问题是,ts-node
找不到我创建的d.ts
个文件(而tsc
没有问题).
项目 struct 如下:
/
conf/
dist/
src/
types/
package.json
tsconfig.json
tsconfig.json
个相关条目包括:
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
// "lib": [],
"sourceMap": true,
"outDir": "dist",
"rootDir": "src",
"moduleResolution": "node",
"baseUrl": ".",
"paths": {
"*": [
"node_modules/*",
"src/types/*"
]
},
// "rootDirs": [],
// "typeRoots": [],
// "types": [],
},
"include": [
"src/**/*"
]
}
ts-node
找不到的定义文件是src/types/global.d.ts
:
import { App } from '../App';
declare global {
namespace NodeJS {
interface Global {
app: App;
}
}
}
所以,试着用ts-node
来运行它,我明白了:
TSError: ⨯ Unable to compile TypeScript:
src/boot.ts(15,59): error TS2339: Property 'app' does not exist on type 'Global'.
如何在全局解决这一问题?我发现/// <reference path="./types/global.d.ts" />
可以做到这一点,但我必须使用global.app
在每个文件中重复它.
我的打字脚本版本是3.0.1