質問

JavaScript、NodeJS、そして - 低い方 - TypeScriptにはかなり新しい。EditorのIntelliSenseなどを提供するためにsrc/services(Windows)のコンパイラサービスを試してみたい。

私が知ることができる限りでは、nodejsサーバーのTypeScriptサービスコードをrequireにすることができる必要があり、エディタからそれと通信する必要があります。NodeJS固有のTypeScriptサービスコードが見つかりませんでしたので、RequireJSを介してNodeJSを使用できるようにするために、サービスコードを--module amdでコンパイルする必要があると思います。

上記の場合、My --module amdを使用してサービスコードをコンパイルしようとした試みは、デフォルトのモジュールの種類を使用すると正確に同じ結果です(下記参照)。

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

役に立ちましたか?

解決

これは確かに混乱していますが、言語サービス.TSのコードは「モジュール」の定義の意味の「モジュール」にはありません。

仕様とは、moduleブロック内のものを「内部モジュール」として表します。それがあなたが言うとあなたが見ているものです。最上位の名前を露出するコンテナやシングルトンのように考えることができます(単純な内部モジュールのコードGENを見ると、このかなりのビットを説明します)。モジュールローダーなしでは、これらの通常のトップレベルオブジェクトのようなものをすべてまったく消費します。

の生産 extern モジュール(SPECで指定されたように)requireは、exportディレクティブを.tsファイル内の最上位宣言に入れることによって行われます(SPECセクション9.2.1を参照)。いくつかのサンプル(例えばImageBoard)があり、あなたが興味があるならそれを行うダウンロードのために利用可能ないくつかのサンプルがあります。

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top