問題タブ [typescript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - TypeScript - コード出力の分離
私はタイプスクリプトを試していますが、非常に便利です。
私はかなり大きなプロジェクトを持っており、タイプスクリプトを使用して書き直すことを検討していました。ここでの主な問題は次のとおりです。
ファイル A.ts:
ファイル B.ts:
このコマンドで A.ts をコンパイルすると:
拡張後に「B」を脅かす方法がわからないため、コンパイラからエラーが発生します。
したがって、「解決策」は A.ts に (コードの最初の行として) 含めることになります。
同じコマンドで A.ts を再度コンパイルする
B.ts と A.ts の両方のコードを含むコンパイル済みの A.js が生成されます。(これはとてもいいかもしれません)
私の場合、コンパイル済みの A.js ファイルで A.ts コードをコンパイルするだけでよく、B.ts のものをそこに入れたくありません。
確かに、私が欲しいのは:
- tsc --out A.js A.ts => A.ts のみをコンパイル
- tsc --out B.js B.ts => B.ts のものだけをコンパイル
「extends」キーワードを削除することでそれを行うことができますが、それを行うと、タイプスクリプトの利点のほとんどが失われます。
これを行う方法があるかどうか誰か教えてもらえますか?
angularjs - EmberJS、AngularJS、または BatmanJS の TypeScript サポート
TypeScript はこれらの優れた MV* フレームワークをサポートしますか?
これを尋ねるのは時期尚早であることは承知していますが、この若い JavaScript イニシアチブで彼らのサポートに到達する可能性についてはどうでしょうか?
typescript - TypeScript で「ウィンドウ」に新しいプロパティを明示的に設定するにはどうすればよいですか?
のプロパティを明示的に設定して、オブジェクトのグローバル名前空間をセットアップしますwindow
。
TypeScript は次のことを強調MyNamespace
し、不平を言います。
プロパティ 'MyNamespace' はタイプ 'window' の値に存在しません
MyNamespace
アンビエント変数として宣言し、window
明示性を削除することでコードを機能させることができますが、それはしたくありません。
どうすればwindow
そこにとどまり、TypeScriptを満足させることができますか?
window
補足として、TypeScript が文句を言うのは特に面白いと思いますany
。
node.js - TypeScriptでのExpress()の使用
TypeScriptのnode.jsで最新バージョンのExpessを使用したいと思います。サンプルでマイクロソフトが提供するexpress.d.tsは、3.0.xより前のバージョンに基づいて構築されているようです。以前のバージョンでは、
ただし、3.0.x以降は次のことを行う必要があります。
Express.d.tsはこれをサポートしていません...これに関するハックを見つけました:Express.d.tsに次の行を追加しました:
アプリオブジェクトを作成するときはapp.ts
、次のようにします。
これで問題が解決したようで、エラーなしでコンパイルされています。また、インテリセンスのサポートも受けています。しかし、これはハックです...まず、なぜ私はこのようなものを書くことができないのですか?
これは、この問題を修正するための推奨される方法ですか?
typescript - _thisという名前の変数を作成することはこれと競合する必要がありますか?
_this
これは非常に工夫された例ですが、クラス関数のどこかに変数を作成するとします。
changeName
コンパイルされたコードの関連部分は次のようになっているため、関数を呼び出すと、これは期待どおりに機能しません。
これは悪いJavascriptです。2つのvar
宣言が互いに上書きしています。コンパイラによって作成されたものは、私の_this
によって上書きされてい_this
ます。
私が見る限り、この動作はTypeScript仕様では指定されていません。
なぜ彼らは対立する必要がありますか?コンパイラーは、変数とコンパイラーで生成された変数が互いに踏みつけられない_this
ようにするなど、自動生成された変数に名前を付けて名前を付けたかどうかを検出できませんか?_this2
visual-studio-2012 - Visual Studio TypeScript オプション
Visual Studio 内から amd モジュール (--module amd) を生成するように TypeScript コンパイラに指示するにはどうすればよいですか。
ありがとう。
typescript - TypeScript でプロパティをオブジェクトに動的に割り当てるにはどうすればよいですか?
Javascript のオブジェクトにプログラムでプロパティを割り当てたい場合は、次のようにします。
しかし、TypeScript では、これによりエラーが発生します。
プロパティ「prop」は、型「{}」の値に存在しません
TypeScript のオブジェクトに新しいプロパティを割り当てるにはどうすればよいですか?
typescript - TypeScript から直接 JavaScript を呼び出す
TypeScript のドキュメントをダウンロードしました。いくつかの JavaScript クラスがあり、TypeScript テスト アプリケーションでこれらのクラスを作成して使用したいと考えています。
含まれている JavaScript の JavaScript 関数を TypeScript から呼び出すにはどうすればよいですか。「d.ts」ファイルを作成したくありません。クラスを作成し、そのメソッドを呼び出し、そのプロパティにアクセスするだけです。
それ、どうやったら出来るの?
TypeScript で kendoUI を使用しようとしています。
たとえば、ウィンドウを表示するには、次のことを行う必要があります。
- ウィンドウのコンテンツを表す HTML を用意します。ID logonDialog の div があります。この div
は最初は非表示になっています。 - ウィンドウを作成します: logonDlg.kendoWindow(logOnParams);
- 次に、jQuery を使用して div を表示します。
logonDlg.show();
例
正常に動作しています。JS は希望どおりに生成されますが、タイプ「JQuery」の値にプロパティ「kendoWindow」が存在しないため、エラーが発生します。
この種のエラーを無効にするにはどうすればよいですか。ライアンが言ったように、私はうまくいきませんでした。
visual-studio - VisualStudioを使用したTypeScriptコードのデバッグ
(生成されたJavaScriptをデバッグする代わりに)VisualStudioでTypeScriptソースをデバッグする方法はありますか?
TypeScript言語仕様から:
TypeScriptはオプションでソースマップを提供し、ソースレベルのデバッグを可能にします。
したがって、tsコードにブレークポイントを配置してデバッグできると期待していましたが、機能しません。仕様には、デバッグに関する他の言及は見つかりませんでした。これを機能させるために私がすべきことはありますか?おそらく、「オプションで」という言葉は、それが機能するために何かをする必要があることを示唆しています...何か提案はありますか?
javascript - できないはずの TypeScript プライベート メンバーにアクセスできるのはなぜですか?
TypeScript でのプライベート メンバーの実装を検討していますが、少し混乱しています。Intellisense はプライベート メンバーへのアクセスを許可しませんが、純粋な JavaScript では、すべてそこにあります。これは、TS がプライベート メンバーを正しく実装していないと思わせます。何かご意見は?