我有一个NodeJS Express项目,其中包括一个名为UtilServices.ts的服务,我想在global.d.ts文件中声明这个服务,以便能够在项目中全局使用它,而无需在每个使用它的地方导入它。
我试图这样做,但我在运行时得到一个错误,服务没有定义,虽然也没有构建错误。
以下是我的代码:
global.d.ts文件:
import { UtilService } from './src/services/utilService';
declare global {
var UtilService: UtilService;
}
下面是我的tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": true,
"outDir": "dist"
},
"files": ["global.d.ts", "./src/app.ts"]
}
我直接在我想使用它的地方调用服务,如下所示:
UtilService.doSomeThing();
我在运行时得到一个错误,即UtilService未定义,尽管也没有构建错误。
我想知道我的代码中是否有任何错误或任何遗漏的代码或配置。
1条答案
按热度按时间0qx6xfy61#
可以在
global
对象上创建UtilService
特性,并将UtilService
对象指定给该特性。一个工作示例使用
node v14.19.3
:services/utilService.ts
:setup.ts
:a.ts
:b.ts
:main.ts
:运行和输出:
软件包版本: