正しくタイプコピーモジュールを作成する方法を理解するのが少し難しいです。Typescriptモジュールの使用方法
私が達成しようとしているのは、1つのファイルにつき1つのモジュールであり、グローバルスコープに変数が漏れていません。
たとえば、「addItem()」という名前の関数を使用して「shoppingCart.js」というjsファイルがある場合、「shoppingCart.addItem()」を使用してaddItemにのみアクセスできます。 。
これを実現するには、shoppingCart.jsを作成してaddItem()関数を配置しますが、一見するとaddItem()関数はグローバルスコープになっているようです。
shoppingCart.jsのコンテンツを「shoppingCart」というモジュールにラップすると、私がカプセル化を取得したように見えますが、モジュールをインポートすると、名前を二重にする必要があります。例えば:「./shoppingCart」 shoppingCart.shoppingCart.addItemから
輸入ショッピングカート()
私はちょうど何か他のものにimport文で変数を変更することができます知っているが、私はしたくありません、私はちょうど "shoppingCart"をタイプしたいと思う。エクスポートされたすべての関数のクラスと変数にアクセスできます。
"module"というキーワードを使用すべきですか? 私はモジュールのルートで "module"を使い、クラスをオブジェクトコンテナとして使用したいと思いました。
マイtsconfig.jsonは、関心の次のプロパティがあります。
"target": "es5",
"module": "commonjs",
"moduleResolution": "node"
私はそれが違いを作るかどうかわからないんだけど、私は.TSファイルを.jsファイルに変換するためのVisual Studio 2015を許可しています次に、gulpビルドプロセスでbrowserifyを使用して、それらをすべて1つのファイルに連結します。
ありがとうございます。 私は、 "export"というプレフィックスを持つ "module"内に何かを公開しようとしています。 なぜモジュールキーワードを使用するのが間違っていましたか? "module"キーワードは名前空間と同等であるかもしれません。それは正しいと思いますか? – Steviebob
私は専門家ではありませんが、実際にあなたが何をしているかによって異なります。実際のキーワード 'module'は、定義ファイル(somefile.d.ts)の入力に使用されています。私はモジュールキーワードを直接使用するインスタンスには入っていません。そのことを念頭に置いて、私は通常、tsドキュメント内のモジュールを見ると、ファイル(別名モジュール)の名前空間を参照していることに同意します。それは役に立ちますか? – CriCri