我想将我的NodeJS配置存储在全局范围内。
我试图遵循此=> 在node.js和其他Stackoverflow解决方案中扩展TypeScript Global对象,
我制作了一个名为global.d.ts的文件,其中包含以下代码
declare global {
namespace NodeJS {
interface Global {
config: MyConfigType
}
}
}
Run Code Online (Sandbox Code Playgroud)
全局作用域的扩展只能直接嵌套在外部模块或环境模块声明中。ts(2669)
但是这样做很好=>
declare module NodeJS {
interface Global {
config: MyConfigType
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我需要导入文件MyConfigType以键入配置,但是第二个选项不允许这样做。
我是 Typescript 和 Deno 的新用户,我不太了解接口范围是如何工作的。
我有一个树层应用程序:
第一层(App.ts)是我的应用程序,这是我的应用程序的核心逻辑部分所在的位置。这部分可以是任何需要引用第二层(API.ts)的文件。
第二层 ( API.ts ) 是我可以与任何远程 API(例如 Facebook、stripe、Google API)进行通信的入口点
第三层是一堆.ts文件。第二层(API.ts)可以与它们中的每一个进行通信。每个文件都处理特定 API 的非常精确的部分。例如,我有一个FB_page.ts来处理 Facebook API 负责页面的部分,另一个文件STRP_Subscription处理 Stripe API 负责订阅的部分,等等。
我的问题是
我有很多接口来处理 API 调用可以输入或输出的每种类型的参数、每个错误和每个响应。我的应用程序的每一层都需要这些接口。
如果我可以将特定 API 部分的接口放入负责它的文件中,那就太酷了。例如,如果我需要 Facebook 页面 API 的多个接口,我想将其放入FB_page.ts文件中。
但是,如果我需要在应用程序 App.ts的第一层中导入FB_page.ts文件,则必须导入它们,如下所示:
import {IPost, IPost_Error, IPost_Response} from '../lib/FB_page.ts';
所以我把它们放在 .d.ts 文件中,但它们似乎也不是全局的?
我怎样才能访问我的接口,而不必将它们导入到我的应用程序中的任何地方?
感谢您的帮助。