[解決済み] TypeScriptエクスポート・インポートインターフェース
2022-05-28 05:04:08
質問
私は AMD モジュールを使用しており、いくつかの他のファイルをロードし、何をどのように公開するかを選択する 1 つのファイルの背後に複雑なインターフェイスを隠したいのです。それは動作し、私はこのソリューションを使用しますが、それは主にインターフェイスで、ちょっと醜い感じです。
import Types = require('./message-types');
import MessageBaseImport = require('./message-base');
export interface IMessage extends Types.IMessage {} // This is an interface
export var MessageBase = MessageBaseImport; // This is a class
使用方法
import Message = require('message');
import { * } as Message from 'message'; // Or with ES6 style
var mb = new Message.MessageBase(); // Using the class
var msg: Message.IMessage = null; // Using the interface
何か良い解決策はないでしょうか?全てを1つのファイルにまとめたくはないのですが、以下のようにしたいのです。
import
を1つのファイルにしたいのです。
どのように解決するのですか?
レガシーモジュールのためのエクスポート・インポート構文と、モダンなES6モジュールのための標準的なエクスポートフォーマットが存在します。
// export the default export of a legacy (`export =`) module
export import MessageBase = require('./message-base');
// export the default export of a modern (`export default`) module
export { default as MessageBase } from './message-base';
// when '--isolatedModules' flag is provided it requires using 'export type'.
export type { default as MessageBase } from './message-base';
// export an interface from a legacy module
import Types = require('./message-types');
export type IMessage = Types.IMessage;
// export an interface from a modern module
export { IMessage } from './message-types';
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み】「TS2532: Object is possibly 'undefined'」というエラーを解決するにはどうしたらいいですか?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] Typescriptエクスポートとデフォルトエクスポートの比較
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] TypeScriptのカスタムグローバルインターフェース(.d.tsファイル)を設定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「TS2532: Object is possibly 'undefined'」というエラーを解決するにはどうしたらいいですか?
-
[解決済み] 型{ [key: string]: boolean; }は何を意味するのでしょうか?
-
[解決済み] プロパティ 'values' はタイプ 'ObjectConstructor' に存在しません。
-
[解決済み] フォーインステートメント
-
[解決済み] タイプスクリプト TS7006 です。パラメータ 'xxx' は暗黙のうちに 'any' 型を持ちます。
-
[解決済み] オブジェクトの配列に対してインターフェースを定義するには?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] チェックした後に○○の表現が変わっている
-
[解決済み] TypeScriptのファイル変更時にts-nodeを監視して再読み込みする方法
-
[解決済み】Visual Studio Codeで.js.mapファイルを非表示にする方法