在我的src/app.ts
中,我有:
import DB from '../models'
在src/models/index.ts
中,我有:
export default (() => {
if (global.DB) {
return global.DB
}
...
// Do some other stuff
return something
我的typings/global.d.ts
有:
declare namespace NodeJS {
export interface Global {
DB: any;
}
}
declare var DB: any;
最后,我的tsconfig.json
拥有:
{
"compilerOptions": {
"outDir": "./built",
"allowJs": true,
"target": "es6",
"esModuleInterop": true,
"sourceMap": true
},
"include": [
"./src/**/*"
],
"files": [
"typings/*"
]
}
但是我仍然收到错误:
Error: src/models/index.ts(7,16): error TS2339: Property 'DB' does not exist on type 'Global'.
我做错了什么?
答案 0 :(得分:8)
您的tsconfig.json
可能是错误的。您同时使用files
和include
来指定glob。 files
应该用于specific (relative or absolute) paths,而include
可以用于glob。
如果您将两条路径合并到include
中,如下所示:
{
"compilerOptions": {
"outDir": "./built",
"allowJs": true,
"target": "es6",
"esModuleInterop": true,
"sourceMap": true,
},
"include": [
"./src/**/*",
"./typings/*"
]
}
您的文件应编译。