1

私はJavascript、NodeJS、そして-明らかに-TypeScriptにかなり慣れていません。src/services(Windows)のコンパイラサービスを試して、エディタにインテリセンスなどを提供したいと思います。

require私の知る限り、NodeJSサーバーでTypeScriptサービスコードを実行し、エディターから通信できるようにする必要があります。NodeJS固有のTypeScriptサービスコードが見つからなかったため、--module amdRequireJSを介してNodeJSで利用できるようにするには、サービスコードをコンパイルする必要があると思います。

上記が正しければ、サービスコードをコンパイルしようとすると--module amd、デフォルトのモジュールの種類を使用した場合とまったく同じ結果が得られます(以下を参照)。

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
4

2 に答える 2

2

これは確かに紛らわしいですが、languageService.tsのコードは、AMD/RequireJSの「モジュール」の定義という意味で「モジュール」に含まれていません。

仕様では、moduleブロック内のものを「内部モジュール」と呼んでいます。それはあなたがlanguageService.tsで見ているものです。それらは、トップレベルの名前を公開するコンテナーまたはシングルトンのように考えることができます(単純な内部モジュールのコード生成を見ると、これがかなり明確になります)。これらは、モジュールローダーをまったく使用せずに通常のトップレベルオブジェクトのように使用します。

の外部モジュール(仕様で指定されている)の生成は、 .tsファイルの最上位宣言にディレクティブを配置するrequireことによって行われます(仕様セクション9.2.1を参照)。export興味がある場合は、ダウンロード可能なサンプル(画像掲示板など)がいくつかあります。

于 2012-10-02T21:14:05.277 に答える
1

モジュールをexport moduleではなく、として定義してから、またはmoduleでコンパイルする必要があります。--m amd--module amd

実現するのに数時間かかりました:)

于 2013-09-26T19:36:23.707 に答える