何私のために働いてしまったことだった。
(1)ファイルをd.tsしてコンパイルするすべての参照を削除してください。私の問題のいくつかは、さまざまなd.tsファイルの定義が重複しているように見えました。これらのファイルがすべて消えて、コンパイルは「本当の」問題を教えてくれました。そのうちの1人はこれでした。
(2)自分のプロジェクトディレクトリにtypings
というディレクトリを作成しました。私はほとんどすべてのd.tsファイルをそこに置く習慣をつくります。モジュールはそこにディレクトリを取得します。 (例えば、typings\node
にはnode.d.ts
が格納されています)
(3)typings
には、私はゆっくりと構築しているファイルがあります。それはglobals.d.ts
と呼ばれ、多くの人がindex.d.ts
を好むようです。その中に、私が必要としているすべてのソリューションを入れました。これは彼らの一人でした。 string.substr
は1秒でした。そのファイルの関連部分:
interface String {
repeat(count: number): string
substr(from: number, length?: number): string
}
そして、私はそれをどうですか?どこでもうまく動作します!私はlib.es6.d.ts
のコピーにこれらの2行を見つけました。
(4)そのファイルをソースコードの中に/// <reference path="./typings/index.d.ts" />
(あなたがファイルと呼んでいるものを問わず)で引用してください。コンパイル。必要に応じて(3)を繰り返します。すべてのエラーがなくなると、私のd.tsは十分に完了しています。いつかここでもっと必要なソースコードを追加するつもりですが、それは後の問題です。
すべてが甘さと軽さですか?確かにそうではありません。
私はこのエラーを過ぎていますが、特に混乱しているのはもう1つあります。
TypeScriptチームが公開している開発チケットを読んだことがあります。彼らは間違いなく全体の問題を理解しています。修正するのは簡単ではありません。彼らはそれを欠けている。彼らが終わったら、私は彼らがこれがもはや問題にならないことを願っていると思います。
時々、npmのtypings
の驚くべきリソースであっても、私が見つけることができるd.tsファイルの最新バージョンは期限が切れているようです。 (node.d.tsの最新バージョンはv4.x用にラベル付けされていますが、v5.11とv6.0を使用しています。もちろん、v4.4はプロダクションに最も適した長期サポートバージョンです確かに、私はいつも解決策を見つけることができるとは確信していません。)
これらのファイルの行が私のエラーを消すなら、私にとっては十分です。時々、彼らはしません。
私が自分でタイプすることができれば、それが最良のケースです。私はそれを行うための完全な能力に向かって発展しています。 (そう...時々、私はできません!)
私はこれらの問題に関連するすべてを理解してうれしいです!
短期的な間接的な解決策は、lodashのようなライブラリを使用することです(特に、プロジェクトに既にある場合)。 '_.repeat( '0'、4 - str.length)'という構文を使うことができます。 – DesignerGuy