1
TypeScript Enumをグローバルにしたいので、アプリケーション全体にインポートする必要はありません。Node.jsにグローバルTypeScript Enumを登録する方法
私がこれまで持っている:
読み取りstate.enum.ts
export enum ReadState {
Unread = 4000,
Read = 4001
}
enums.ts index.tsで次に
import { ReadState } from './read-state.enum';
const enums = {
ReadState
}
global['Enums'] = enums;
declare var Enums: typeof enums;
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