angular-cliを使用して特定のフォルダにコンポーネントを生成するにはどうすればよいですか?


220

angular-cliでangualr4を使用しており、次のコマンドで新しいコンポーネントを作成できます。

E:\HiddenWords>ng generate component plainsight

しかし、私はplainsight内に子コンポーネントを生成する必要があります。angular-cliを行う方法はありますか?


15
ng生成コンポーネントyour / path / from / the / app / folder / plainsight
maxime1992

4
@Maximeが言及したように、またはディレクトリにcd
Z. Bagley

回答:


124

ng g component plainsight/some-name作る新しいディレクトリを、我々はそれを使用する場合。

最終的な出力は次のようになります。

plainsight/some-name/some-name.component.ts

それを回避するには、フラットオプション を使用ng g component plainsight/some-name --flat します。新しいフォルダーを作成せずにファイルが生成されます。

plainsight/some-name.component.ts

11
--flatオプションは私が探していたものです!
事故

1
@ user3611927 --flatは既存のフォルダーを使用し、存在しないフォルダーのみを作成するので、答えです。パーフェクト!! これはデフォルトの振る舞いの私見である必要があります
Andrew Day

38

素早く簡単でエラーのない方法

つまり、app/componentフォルダにコンポーネントを作成し、次の手順に従います

  1. コンポーネントを作成するフォルダを右クリックします
  2. 選択Open in Command Promptオプション
  3. 新しいターミナル(選択したパスが表示されます)で、次のように入力します。 ng g c my-new-component

また、この画像でこのプロセスを確認できます

ここに画像の説明を入力してください


1
あなたは天才ですか、私はただ愚かな愚か者です...これまでで最高の方法です!
Ap0st0l

19

ng g c component-name

カスタムの場所を指定する場合: ng g c specific-folder/component-name

ここcomponent-nameは特定のフォルダ内に作成されます。

Similarlアプローチは、のような他の成分を生成するために使用することができdirectivepipeserviceclassguardinterfaceenummodule、等


12

コンポーネントを生成するためのより短いコード:ng g c component-name
場所を指定するには:ng g c specific-folder/component-name



ディレクティブを生成するための追加情報、より短いコード:ng g d directive-name
その場所を指定するには:ng g d specific-folder/directive-name



4

上記のオプションは、ターミナルでディレクトリまたはファイルを作成する場合とは異なり、CLIがコンポーネントを生成するときに、入力したパスにデフォルトでパスsrc / appを追加するため、機能しませんでした。

そのように私のメインのアプリフォルダーからコンポーネントを生成する場合(間違った方法)

ng g c ./src/app/child/grandchild 

生成されたコンポーネントはこれでした:

src/app/src/app/child/grandchild.component.ts

だからタイプするだけで

ng g c child/grandchild 

うまくいけば、これは誰かを助ける


3

私は上記の答え(を含む--flat)でうまくいかなかったが、私にとってうまくいったのは:

cd path/to/specific/directory

そこから、私は走った ng g c mynewcomponent


1

シンプルな

ng g component plainsight/some-name

「plainsight」フォルダを作成し、その中にsome-nameコンポーネントを生成します。



1

プロジェクトのディレクトリに移動したら。使用してcd path/to/directoryから使用するng g c component_name --spec=falseと、すべてが自動化され、エラーが発生しません

g c手段は、コンポーネントの生成します



1

Angular CLIは、アプリ開発に必要なすべてのコマンドを提供します。特定の要件については、簡単にng gng generate)を使用して作業を完了できます。

ng g c directory/component-nameフォルダー内にcomponent-nameコンポーネントを生成しdirectoryます。

以下は、アプリケーションで使用できるいくつかの簡単なコマンドのマップです。

  1. ng g c comp-nameまたはng generate component comp-name、「comp-name」という名前のコンポーネントを作成します
  2. ng g s serv-nameまたはng generate service serv-name、「serv-name」という名前のサービスを作成します
  3. ng g m mod-nameまたはng generate module mod-name、「mod-name」という名前のモジュールを作成します
  4. ng g m mod-name --routingまたはng generate module mod-name --routing、角度ルーティングを使用して「mod-name」という名前のモジュールを作成する

お役に立てれば!

幸運を!


1

VSCodeを使用する場合は、Angular Consoleの使用を検討してください

Angular CLIのインターフェースを提供します。パスを指定するオプションが表示されます。

Angular CLIは非常に強力で拡張性があります。実際、非常に多くの機能があり、開発者が使用できるすべてのコマンドに対してさまざまな構成オプションをすべて用意しておくと役立ちます。

Angular Consoleを使用すると、推奨事項が表示され、最も簡単に忘れられたり、めったに使用されなかったりする機能を利用できます。

Angular Consoleは、何よりもまず、Angular CLIが提供するものを操作するためのより生産的な方法です。


0

まず、使用する必要があるコンポーネントを作成します:-

  • ng gcコンポーネント名

    上記のコマンドを使用すると、上で
    指定した(componentname)が含まれるフォルダーに新しいコンポーネントが作成されます。

ただし、別のコンポーネントの内部または特定のフォルダにコンポーネントを作成する必要がある場合:

  • ng gc componentname / newComponentName

0

カスタムディレクトリを使用するときに--dryRunを使用する必要がある

ngコマンドとともにカスタムディレクトリパスを渡すことができます。

ng g c myfolder\mycomponent

しかし、パスのスペルを間違えて、新しいフォルダが作成されるか、ターゲットディレクトリが変更される可能性があります。このためdryRun、非常に役立ちます。変更がどのように影響を受けるかについての出力が表示されます。
ここに画像の説明を入力してください

結果を確認-dしたら、変更を加えずに同じコマンドを実行できます。

--dryRun = true | false

trueの場合、結果を書き出さずに実行され、アクティビティが報告されます。

デフォルト:false

エイリアス:-d

公式ドキュメント:-https: //angular.io/cli/generate

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.