【Angular】ng new後のngは直接使うな

ng new

Angularプロジェクトを新規で作成する場合の一般的な例は@angular/cliをグローバルインストールし、ng new [プロジェクト名]を実行する。

ngコマンドでgenerateを使用し、service・component・pipeなどを作成したり、ng serveで起動したりするだろうが、直接ターミナルでngコマンドを発行した場合はグローバルインストールされた@angular/cliのng実行ファイルを使用していることになる。

新規作成したプロジェクトにもngコマンドが入っている

ng new [プロジェクト名]で作成したプロジェクトのpackage.jsonのscripts部を見てみよう。

ngコマンドが宣言されていることがわかる。実はプロジェクトにも@angular/cliがインストールされている。

ローカルのngコマンドを使用する

グローバルのngコマンドではなく、プロジェクトで宣言したローカルのngコマンドを使用するにはnpm run ngで実行する

コンポーネントを作成する例

hogeコンポーネントを作成する場合は下記の通りになる

オプションを使う場合の注意

オプション指定の中にハイフン(-)がある場合は注意が必要になる。--flatオプションを付けて実行してみても無視されてしまう。

「npm run ng –」を使うクセをつける

オプションにハイフンがある場合は--をつけることによりコマンド通りの動作を行ってくれる。つまりnpm run ng --を常に指定することによりオプションがうまく動作しなくなる現象を避けることができる。また、オプションにハイフンが無い場合でも何も不都合なく動作するためnpm run ngではなくnpm run ng --を指定するクセを付けておくことをオススメする。

繰り返す!npm run ng --だー

蛇足

グローバルのngコマンドを使用してもよいが、プロジェクトの@angular/cliと同じバージョンでなければならない。複数のAngularプロジェクトを作成し、バージョンを上げた場合、グローバルのバージョンとプロジェクトのバージョンに差異が出てくる。この状態でグローバルのngコマンドを使用すると警告が発生する。

スポンサーリンク
レタリング(大)広告
レタリング(大)広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レタリング(大)広告