2016-05-03 11 views
3

条件:Win10、TypeScript 1.8、およびVisual Studio Code 1.0.0で作業しています。私はタイプスクリプト:ES2015文字列プロパティ 'repeat'が認識されない

///<reference path = "./typings/lib.es6.d.ts" /> 

のようなコードを持っていると、後で

let z = "0".repeat(4 - str.length) 

これはlet zラインです。

VSコードはlet zラインでrepeatの開始時にポインティング

tsc <filename>.ts 

で、コマンドラインでコンパイル

[ts] Property 'repeat' does not exist on type 'string'. 

Iを「繰り返し」の下に赤い下線を入れて報告し、コンパイラが報告されました

error TS2339: Property 'repeat' does not exist on type 'string'. 

Beggin 'different、Type ES2015(ES6)で追加されました。

質問:クリーンコンパイルを行うにはどうすればよいですか?

EDITS:短縮。

+1

短期的な間接的な解決策は、lodashのようなライブラリを使用することです(特に、プロジェクトに既にある場合)。 '_.repeat( '0'、4 - str.length)'という構文を使うことができます。 – DesignerGuy

答えて

1

何私のために働いてしまったことだった。

(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はプロダクションに最も適した長期サポートバージョンです確かに、私はいつも解決策を見つけることができるとは確信していません。)

これらのファイルの行が私のエラーを消すなら、私にとっては十分です。時々、彼らはしません。

私が自分でタイプすることができれば、それが最良のケースです。私はそれを行うための完全な能力に向かって発展しています。 (そう...時々、私はできません!)

私はこれらの問題に関連するすべてを理解してうれしいです!

関連する問題