2016-10-17 6 views
9

私はaspxページを使用する古いソフトウェアがついています。 小さな単一ページアプリケーション(たとえば、ニュースレターに登録できるコントロール、またはユーザーがニュースフィードをカスタマイズできるコントロール)のように機能するコントロール(ascx)があります。 (私は知っている...実際にはSPA ...)モジュールローダーのないTypescript?

私はこの小さなマイクロプロジェクトのためにVUE.jsを使い始めました。私はそれをすべてプレーンJavaScriptで動作させることができました。

JavaScriptの代わりにtypescriptを使用したかったのです。

私が持っている問題は:私は私の、写しを作成し、VUEや私自身のようないくつかのモジュールを参照するとき、それは常に生成されたJSファイルをいくつかの「必要」コマンドは(ES5にtranspiled)またはいくつかのインポートに書き込み、コマンドがES6に転送された場合

私が読んだ限り、これらのコマンドは、サーバー上の一部のモジュールローダーによって使用されるはずです。しかし、私はNode.JsサーバーもJavascriptビルディングインフラも持っていません。 typescriptにこれらのコマンドを無視するよう指示する方法はありますか?次に、必要なJSジェネレーター付きファイルをマニュアルで参照してください。

+0

browify?.... – YOU

答えて

2

もちろん可能です。モジュールローダーステートメントなしでコードを出力するようにtscを構成するだけで済みます。

たとえば、すべてのコードを1つの大きなファイルにします。 ES6のimport文の使用が制限される場合があります

{ 
"compilerOptions": { 
    "target": "es5", 
    "outFile": "www/js/bundle.js", 
    "sourceMap": true, 
    "declaration": true, 
    "removeComments": true, 
    "sourceRoot": "" 
} 

}

。代わりに名前空間と定義されたタイスクリプトを使用する必要があります。あなたのtsconfig.jsonmodule財産で

+0

ありがとうございました。私はそれを試してみる – CodeHacker

+0

'out'(代わりに' outFile'を使うべきではない)がスクリプトの順序を尊重しないので、これはうまくいかず、Jsで多くのエラーが発生する可能性があります –

5

は今、何よりamdまたはsystemコードが存在しないnone

{ 
    "compilerOptions": { 
     "module": "none", 
    } 
} 

でなければなりません。そして、今度はimportexportのステートメントを使用することはできません。

これがなければ、TypeScriptはスクリプトの順序を知りませんし、Jsで定義されていないエラーが発生する可能性があります。この問題を解決するには

、ちょうど今、活字体が正しい順序ですべてのスクリプトをコンパイルする代わりにimport声明

tripple slash directiveを追加します。
outの代わりにoutFileを使用することをお勧めします。

関連する問題