私はangular-cliを使い始めていて、やりたいことについての答えを見つけるためにすでにたくさん読んでいます...成功しなかったので、ここに来ました。
新しいモジュールにコンポーネントを作成する方法はありますか?
例:ng g module newModule
ng g component newComponent
(newModuleにこのコンポーネントを追加する方法?)
angular-cliのデフォルトの動作は、すべての新しいコンポーネントをapp.module
内に入れることです。私は自分のコンポーネントがどこにあるのかを選択したいのです。そうすれば、私は別々のモジュールを作成でき、自分のすべてのコンポーネントをapp.module
の中に入れることができなくなります。 Angular-Cliを使用してそれを実行することも可能ですし、手動で実行する必要がありますか?
モジュールの一部としてコンポーネントを作成するには
ng g module newModule
newModule
フォルダに変更するcd newModule
ng g component newComponent
。ng g component nameComponent --module=app.module.ts
執筆時点でおそらくAlexander Ciesielskiの答えが正しかったかどうかはわかりませんが、これが機能しなくなったことを確認できます。プロジェクトのどのディレクトリをAngular CLIで実行してもかまいません。あなたがタイプするなら
ng g component newComponent
コンポーネントを生成し、それをapp.module.tsファイルにインポートします。
CLIを使用して自動的に他のモジュールにインポートする唯一の方法は、次のように指定することです。
ng g component moduleName/newComponent
moduleNameは、プロジェクトで既に定義したモジュールです。 moduleNameが存在しない場合は、コンポーネントをmoduleName/newComponentディレクトリに配置しますが、それでもapp.moduleにインポートします。
Cliを使用してトップレベルのモジュールフォルダー内にコンポーネントを生成し、そのコンポーネントに自動的にモジュールの宣言コレクションを追加させる方法を示した答えは見つかりませんでした。
モジュールを作成するには、これを実行します。
ng g module foo
Fooモジュールフォルダ内にコンポーネントを作成し、それをfoo.module.tsの宣言コレクションに追加するには、次のコマンドを実行します。
ng g component foo/fooList --module=foo.module.ts
そしてcliはこのようにモジュールとコンポーネントを足場にします。
- 角度のcliの新しいバージョンは異なった振る舞いをします。 1.5.5はモジュールファイル名を必要としないので、v1.5.5のコマンドは
ng g component foo/fooList --module=foo
以下のコマンドを試すことができます。
ng -> Angular
g -> Generate
c -> Component
-m -> Module
それからあなたの命令は以下のようになるでしょう:
ng g c user/userComponent -m user.module
これは私のために働いたものです:
1 --> ng g module new-module
2 --> ng g c new-module/component-test --module=new-module/new-module.module.ts
ディレクトリなしでコンポーネントを生成したい場合は--flat
フラグを使用してください。
Angular v4以上の場合は、単に次のように使用します。
ng g c componentName -m ModuleName
アプリケーション内の複数のモジュールについても同様の問題があります。コンポーネントはどのモジュールに対しても作成できますので、コンポーネントを作成する前に特定のモジュールの名前を指定する必要があります。
'ng generate component newCompName --module= specify name of module'
この簡単なコマンドを使用してください。
ng g c users/userlist
users
:あなたのモジュール名。
userlist
:あなたのコンポーネント名。
特定のルートフォルダを持つコンポーネントベースの子モジュールを作成しました
下記のcliコマンドを指定して、チェックアウトしてください
ng g c Repair/RepairHome -m Repair/repair.module
Repairは、子モジュールのルートフォルダです
-mは--moduleです
compountのc
生成のためのg
Angular docsによると、特定のモジュール用のコンポーネントを作成する方法は、
ng g component <directory name>/<component name>
"directory name" = CLIが機能モジュールを生成した場所
例: -
ng generate component customer-dashboard/CustomerDashboard
これにより、customer-dashboardフォルダ内に新しいコンポーネントのフォルダが生成され、CustomerDashboardComponentを使用して機能モジュールが更新されます。
ng g m modules/media
これはmedia
フォルダの中にmodules
というモジュールを生成します。
ng g c modules/media/picPick --module=modules/media/media.module.ts
ng g c modules/media/picPick
コマンドの最初の部分では、modules/media
フォルダの中にpicPick
という名前のコンポーネントフォルダが生成され、新しいmedia
モジュールが含まれます。
2番目の部分では、モジュールファイルにインポートしてこのモジュールのpicPick
配列に追加することにより、media
モジュールで宣言された新しいdeclarations
コンポーネントを作成します。
複数のアプリが.angular-cli.jsonで宣言されている場合
"apps": [{
"name": "app-name",
"root": "lib",
"appRoot": ""
}, {...} ]
あなたはできる :
ng g c my-comp -a app-name
-aは--app(name)を表します
Angular CLIを使用してAngular 4アプリにコンポーネントを追加します
アプリに新しいAngular 4コンポーネントを追加するには、コマンドng g component componentName
を使用します。このコマンドの実行後、Angular CLIはフォルダcomponent-name
の下にsrc\app
を追加します。また、同じ参照がsrc\app\app.module.ts
ファイルに自動的に追加されます。
コンポーネントは@Component
デコレータ関数とそれに続くclass
を持ち、それはexport
edである必要があります。 @Component
デコレータ関数はメタデータを受け入れます。
Angular CLIを使用してAngular 4アプリの特定のフォルダにコンポーネントを追加します
特定のフォルダに新しいコンポーネントを追加するには、コマンドng g component folderName/componentName
を使います。
最初にng g module newModule
を実行してください。それからng g component newModule/newModule --flat
を実行してください
私はこの特定のコマンドをモジュールの中のコンポーネントを生成するために使います。
ng g c <module-directory-name>/<component-name>
このコマンドはモジュールにローカルなコンポーネントを生成します。またはを入力して最初にディレクトリを変更できます。
cd <module-directory-name>
それからコンポーネントを作成します。
ng g c <component-name>
注:<>で囲まれたコードはユーザー固有の名前を表します。