2016-11-17 65 views
37

我開始使用angular-cli,並且我已經閱讀了很多以找到有關我想要做什麼的答案...沒有成功,所以我來到了這裏。使用Angular-CLI爲特定模塊創建組件

有沒有辦法創建一個組件到一個新的模塊?

例如爲:ng g module newModule

ng g component newComponent,因爲角CLI默認行爲是把裏面所有app.module新組件(如何將此組件添加到newModule ??)

。我想選擇我的組件的位置,以便我可以創建分離的模塊,並且不會在app.module內部擁有所有組件。使用angular-cli可以做到這一點,或者我必須手動執行此操作嗎?

回答

47

要創建一個組件作爲一個模塊,你應該

  1. ng g module newModule生成一個模塊的一部分,
  2. cd newModule改變目錄到newModule文件夾
  3. ng g component newComponent創建一個組件作爲一個孩子該模塊。
+1

這正是要找的。謝謝@亞歷山大。我認爲他們應該把它放在Docs中。 –

+19

您也可以保留在項目根目錄中,並使用模塊名稱「ng g component moduleName/componentName」作爲前綴。 – JayChase

+0

在使用Angular CLI版本1.6.8時,我總是收到'指定的模塊不存在'的錯誤sying,當我sepcify現有的模塊時。它在我嘗試以下命令時起作用:* ng生成service service1 --module = module1/module1.module.ts *。注意:我的服務名稱是* service1 *,我的模塊名稱是* module1 * – Diallo

29

不知道Alexander Ciesielski的回答在寫作時是否正確,但我可以驗證這不再有效。運行Angular CLI的項目中的哪個目錄無關緊要。如果您鍵入

ng g component newComponent 

它會生成一個組成部分,是通過指定

其導入到app.module.ts文件

您可以使用CLI將自動導入到另一個模塊的唯一方法

ng g component moduleName/newComponent 

其中moduleName是您已經在項目中定義的模塊。如果模塊名不存在,它就會將組件置於MODULENAME/newComponent目錄,但仍然將其導入到app.module

+2

這是我當時正確的答案..它正常工作。我創建了一個拉取請求,將這些信息添加到文檔中。其中一個貢獻者要求我刪除cd-ing部分..最後將是1.'ng g module newModule' 2.根據他的'g g component new-module/newComponent'應該是new-module而不是newModule –

+0

只需指出,使用亞歷山大Ciesielski技術和按預期工作。我應該注意到,我不需要創建僅僅需要創建文件夾的組件。所以我只是'mkdir'文件夾,然後在新創建的文件夾中運行n個組件newComponent。 –

+1

我想說,完整的答案是'ng g component moduleName/newComponent -m moduleName' – slavugan

14
​​
+0

這是完美的答案 – Imran

10

我沒有找到答案,這展示瞭如何使用CLI生成一個頂層模塊文件夾內的組件,並且還有組件自動添加模塊的聲明集合。

要創建模塊,運行如下命令:

ng g module foo 

要創建foo的模塊文件夾中的組件,並將它添加到foo.module.ts的聲明集運行此:

ng g component foo/fooList --module=foo.module.ts 

cli將腳手架模塊和組件這樣:

enter image description here

- EDIT角度cli的新版本行爲有所不同。 1.5.5不需要模塊文件名,所以命令使用v1.5。5應該是

ng g component foo/fooList --module=foo 
0

添加組件的角4應用程序中使用角CLI

要將新的角4組件添加到應用程序,使用命令ng g component componentName。執行此命令後,Angular CLI在src\app下添加一個文件夾component-name。此外,相同的參考文件將自動添加到src\app\app.module.ts文件中。

組件應具有@Component裝飾器功能,後面跟着class,它需要export ed。裝飾函數@Component接受元數據。

採用了棱角分明CLI

要將新組件添加到特定的文件夾用命令添加到角4應用程序的特定文件夾的分量ng g component folderName/componentName

0

我有多個模塊的類似問題在應用中。可以爲任何模塊創建一個組件,因此在創建組件之前,我們必須指定特定模塊的名稱。

'ng generate component newCompName --module= specify name of module' 
1

這是對我工作:

1 --> ng g module new-module 

2 --> ng g c new-module/component-test --module=new-module/new-module.module.ts 

如果不想它的目錄使用--flat標誌產生的組件。

0

使用這個簡單的命令:

ng g c users/userlist 

users:您的模塊名稱。

userlist:您的組件名稱。

相關問題