1
我想讓我的TypeScript Enums是全局的,所以我不需要在我的應用程序中導入它們。如何在Node.js中註冊全局TypeScript Enum
我到目前爲止有:
讀state.enum.ts
export enum ReadState {
Unread = 4000,
Read = 4001
}
enums.ts
import { ReadState } from './read-state.enum';
const enums = {
ReadState
}
global['Enums'] = enums;
declare var Enums: typeof enums;
然後在index.ts
import './enums'; // do this once to initialize enums
var _enums = Enums; // [ts] Cannot find name 'Enums'.
雖然在運行時可能會起作用,但我不是abl e通過declare var Enums: typeof enums;
引用枚舉,因爲該文件是一個模塊。
如何在不導入模塊的情況下引用此類型定義,同時將未來的枚舉定義保存在單獨的文件中?
更新:我還需要將函數的返回類型設置爲ReadState
枚舉。
根據目前選擇的答案我有這樣的:
import { ReadState } from './read-state.enum';
const enums = {
ReadState: ReadState
}
declare global {
const Enums: typeof enums;
}
在另一個文件我想設置對這些函數的返回類型,但打字稿是不爽:
function getState1(): Enums.ReadState {
return Enums.ReadState.Unread;
}
function getState2(): typeof Enums.ReadState {
return Enums.ReadState.Read;
}
完美!謝謝瑞恩。 – kenhowardpdx
我已經添加了更多的問題。我遇到了函數返回類型的問題。 – kenhowardpdx