typescript 2.0 / 3.0 でカスタムの「型付け」を追加する方法
2023-09-30 20:14:35
質問
によると この の記事では、typescript 2.0 の typings システムが変更されたため、カスタム typings をどのようにアタッチするかが不明になっています。NPM パッケージを作成する必要があるのでしょうか?
ありがとうございます。
どのように解決するのですか?
JSライブラリの型を宣言できる、プロジェクト専用のローカルカスタム型付けを作成することができます。そのためには
-
型宣言ファイルを保存するためのディレクトリ構造を作成し、以下のようなディレクトリ構造になるようにします。
. ├── custom_typings │ └── some-js-lib │ └── index.d.ts └── tsconfig.json
-
には
index.d.ts
ファイルに、JSライブラリの宣言を追加してください。declare module 'some-js-lib' { export function hello(world: string): void }
-
(オプション:TypeScript >= 4.xの場合はスキップ) この型宣言への参照を
compilerOptions
セクションにこの型宣言への参照を追加します。tsconfig.json
:{ "compilerOptions": { ... "typeRoots": ["./node_modules/@types", "./custom_typings"] }, ... }
-
宣言されたモジュールをコードで使用します。
import { hello } from 'some-js-lib' hello('world!')
関連
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] クラス定数を実装するには?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] TypeScriptのファイルをコマンドラインから実行するには?
-
[解決済み] JSX.ElementとReactNodeとReactElementの使い分けは?
-
[解決済み] types/* を `dependencies` と `devDependencies` のどちらに入れるかは、どのように決めたらよいですか?
-
[解決済み] tsc が `TS2307: Cannot find module` for a local file をスローします。
-
[解決済み] TypeScript 2: 型付けされていない npm モジュールのためのカスタム型付け
-
[解決済み] プライベートセッターのタイプスクリプト?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプト。カスタムタイプに対する typeof のチェック
-
[解決済み] ngForとAsync Pipe Angular 2でObservableオブジェクトから配列を利用する。
-
[解決済み] tsconfigの "target "と "module "を理解する。
-
[解決済み] TypeScript Genericsに複数の型制約を指定することは可能か?
-
[解決済み] Angular2のhttpデータからRxJS ObservablesをTypeScriptで連鎖させる。
-
[解決済み] クラス内列挙型(TypeScript定義ファイル)
-
[解決済み] Enumのインポート方法
-
[解決済み] TypeScriptで純粋な抽象クラスを拡張する場合と実装する場合
-
[解決済み] プライベートセッターのタイプスクリプト?
-
[解決済み] npmスクリプトを使用して、tsc -watch && nodemon --watchを実行する方法はありますか?