Visual Studio 2013でのangularJS開発の推奨セットアップ[終了]


9

AngularJSから始めます。バックエンドはWeb API(これも私にとっては新しい)であり、1つのIDEのみを使用したいので、AngularJS用にVisual Studio 2013でプロジェクトを設定する方法を理解しようとしています。APIとの疎結合を維持する(またはUIをWeb APIから切り離したままにする)ために、個別のプロジェクトとして維持したいと思います。この設定を取得する方法を理解するのに苦労しています。そう....

  • 純粋なAngularJS(純粋なHTML 5)プロジェクトに最適なプロジェクトタイプはどれですか?
  • Gruntの使用が推奨されていますか?または、MS Buildはビルドタスクを処理するのに優れていますか?ここでは、ファイルを1つの配布ファイルにリント、ミニファイ、連結して、おそらくWebサーバーにコピーしていると思います。
  • どのようにテストを実行しますか?Jasminテストを実行するプラグインはありますか?Karmaを個別に実行しますか?
  • AngularJSに適したテンプレートはありますか?ngBoilerplateを使用するものはありますか?

任意の助けいただければ幸いです。



6
私はこれが広すぎると考えられることに少し問題があります。私はこのテーマについて少し迷っています。そのため、私の質問に集中するのは非常に困難です。そのため、現時点では具体的な質問の仕方がわかりません。私がこれをググるほど、私はもっと混乱します... :(
グレッグ・マクガフィー

1
同じ質問に対する簡単な答えを探していました。おそらく唯一の方法は、質問を完全に単純化することです。簡単な質問を追加して、これを参照します。
amelvin 2014年

2
この質問は広すぎるという考えには同意しません。同じ部屋に2人のプログラマーを配置すると、同じような質問になります。実際、同じフレームワークを使用してWebアプリを起動しようとしているので、まったく同じ質問があります。
14

回答:


7

私たちは同じ選択をすることができました。

私たちは以下を決定しました:

  • ビルドプロセス全体がVisual Studioに依存しないようにします。私たちは、角度のある開発の世界で主流と見なされている使用ツールを選択しました。この方法では、コミュニティによるサポートを簡単に受けることができます。

  • 可能な場合はエクスペリエンスを強化するために、利用可能な場合はビジュアルスタジオ拡張機能を使用する

どうやって :

  • 使用gruntしてくださいkarmayeoman angular独自のビルドプロセスをセットアップするためのテンプレートとしてこれを使用してプロジェクトを足場しました。私たちのものはほとんどそのままです。

  • Web Essentials 2013拡張機能をインストールします。拡張子は同じ使用.jscsして.jshintrc、あなたのことをgruntビルド用途。私たちは聞かせすることを決めたWeb Essentialsの2013年の拡張が扱う.lessことがよう保存上のファイルをindex.html参照することができますmain.cssし、何のビルドプロセスが必要とされません。

  • ビジュアルスタジオエディターの設定が.jscs.jshintrcフォーマットルール(間隔、行末など)に合っていることを確認してください。

また:

  • テスト用のコマンドラインで実行karma watch(またはgrunt watch)します。

  • Visual Studioから実行中のカルマテストに接続することは問題なく動作します。IEでテストを実行する必要があります。しかし、私たちはChrome開発ツールを頻繁に使用しています。

  • ジャスミンWebランナーはまったく使用しません。カルマはあなたが必要とするすべてを持っています。

  • 簡単にするために、アプリファイルはWebAPIプロジェクト内の/ static /にあります。この方法では、静的ファイルを提供するために別のサーバーは必要ありません。

  • NTVSを使用してgruntkarmaまたはVisual Studioからビルドプロセスに含まれるその他のツールをデバッグできます。

  • CI(CCNet)との統合は簡単でした。ビルドを実行し、コンソールタイプのレポーターの代わりにjunitスタイルのレポーターを使用してテストを実行するタスクであるgrunt ciwhereを呼び出すだけciです。

  • また、ビルドプロセスの実行がオプションであることを確認しました。ビルドプロセスは、distフォルダー内の要素をバンドルします。このフォルダーで統合テストを実行しますが、開発時には、未加工jsファイル(縮小または連結ではない)で実行します。yeoman angularテンプレートは、簡単にそこに私たちを得ました。

これが役に立てば幸い


ありがとう!これは非常に役立ちます。追加質問:Web APIパーツにMS Buildを使用し、ui(/ static /フォルダー内)に対してgruntを実行することを想定していますよね?
Greg McGuffey、2014年

AngularJS UIをWeb APIから分離したい場合に、どのタイプのプロジェクトを使用するかについては、まだはっきりしていません。私はあなたがそれらを一緒にしたと理解しています、私がそれらを一緒にしたくない場合、あなたがそれについて何かアイデアを持っているなら、どうやってそれを行うのかと思っています。
グレッグ・マクガフィー、2014年

最初のコメントへ:はい。2つ目:開発環境のWebAPIプロジェクトにのみ配置します。展開時に、他の場所に展開されます。Webプロジェクトタイプを選択しない場合、Webプロジェクトに固有のVS機能は機能しません(たとえば、JavaScriptファイルの定義に移動)。
スライ

オプション1:空のASP.Net MVCプロジェクトを使用し、依存関係を削除すれば問題ありません。唯一のことは、このプロジェクトを実行する/bin/project.dllと何もしないがコンパイルされるということです。
スライ

オプション2:VSで新しいNode.jsプロジェクトを作成します(NTVSが必要です)。静的ファイルを提供する独自のWebサーバー(nodejs内)があります。私はそれをテストし、それは動作します。
2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.