2017-08-01 11 views
0

私はAngularJS 1.6.5とNancyFXサーバーを備えたVisual Studio Community 2017(15.2)プロジェクトを持っています。ここtypescriptは保存時にコンパイルするVisual StudioのAngularJS 017

コード:

https://github.com/GusBeare/NancyAngularTests

これは私が実際のプロジェクトで使用したい機能を学習し、テストするための遊び場です。

すべてのAngularJSの内容はTypescriptファイルにあり、私のtsconfig.jsonはコンパイル時にすべて1つのJSファイルContent/js/bundle.jsにコンパイルするよう指示します。

プロジェクトをビルドして実行すると、すべてが正常に機能し、問題はありません。アプリが起動している間、私は.TSファイルを編集する場合は、このエラーを破る:保存のコンパイルがContent/js/bundle.jsを保存する上で再構築されるため、正常に動作するようです

angular.min.js:7 Uncaught Error: [$injector:nomod] 
http://errors.angularjs.org/1.6.5/$injector/nomod?p0=mySPA 

。しかし、どうして私は保存時にのみコンパイル時に角度エラーを取得するのですか?

私はAngularJSコードで何か間違っているのですか、これはTypescript/Visual Studioのものですか?

私がプロジェクトをビルドして公開すると、IIS上でうまく動作し、私はそれを破ることができません。

+0

これは、bundle.jsにバンドルされているコードの順序と関係があります。 VSでプロジェクトをビルドすると、tsconfig.json内のファイルの順序が尊重されます。しかし、私がプロジェクトを実行し、 "compileonSave"オプションをtrueに設定して.tsファイルを編集して保存すると、バンドルされたコードの順序が変更され、他の順序で変更されます。 –

+0

私は時間を見つけることができる場合は、私は別のバンドル方法を試してみます。 –

答えて

0

私は、tscを使用してtypescriptをコンパイルすると、tsconfig.json内のファイルの順序が尊重され、VS typescriptツールでバグが発生していることに気付きました。

私はhttps://www.microsoft.com/en-us/download/details.aspx?id=48593に行って、新しいバージョンがリリースされたばかり(2.4.1)に気付きました。

これをインストールすると、私の問題が解決しました。 tsコンパイラは、指定された順序でファイルを読み込み、正しくバンドルします。

更新

ありません私が間違っていました。それは修正されていません。プロジェクトをビルドすると、ファイルのコンパイル順を尊重しないため、実行に失敗します。ただし、バンドルを直接編集して順序を変更し、さらに.tsファイルを編集すると、bundle.jsが正しく再構築されます。しかし、プロジェクトをもう一度閉じてビルドすると正しくありません。 tscはコマンドライン上でも正しい順序でバンドルします。 これは大変バグが多いです。私は戻ってJSにapp.jsを変換し、TSバンドルの外に移動する回避策として

アップデート2

。これはbundle.jsの前に最初に読み込まれ、すべて正常に動作します。

関連する問題