4

node.js サーバーとブラウザーの間で再利用できるポータブル モジュールを作成したいと考えています。

それは私のatmを止めているモジュール化のことです. 私はhttp://caolanmcmahon.com/posts/writing_for_node_and_the_browser/を読んでいますが、それは簡単に見えますが、tscでそのようなものを生成することは可能ですか?

4

1 に答える 1

5

TypeScript を CommonJS / AMD スタイル (つまり、各ファイルがモジュール) で記述する場合、CommonJS (nodejs サーバー用) と AMD (ブラウザー用、require.js を使用) のいずれかを出力するようにコンパイラーに要求できます。

したがって、モジュール ファイルは次のようになります (モジュール宣言なし)。

MyModule.ts

exports class MyClass {
    constructor (private id: number) {
    }

    // ... etc
}

そして、次のコンパイラ コマンドを使用して出力を取得します...

nodejs またはブラウザーの場合 (推奨)

tsc --module umd MyModule.ts

nodejsの場合

tsc --module commonjs MyModule.ts

ブラウザの場合 (require.js を使用)

tsc --module amd MyModule.ts

コンパイルされた出力の唯一の違いは、サーバー コードが CommonJS インポート ステートメントを使用してモジュールをロードし、ブラウザー コードが requires を呼び出すことです。

于 2012-10-29T08:48:45.357 に答える