Làm thế nào để tạo các thành phần trong một thư mục cụ thể với angular-cli?


220

Tôi đang sử dụng angualr4 với angular-cli và tôi có thể tạo thành phần mới bằng lệnh sau.

E:\HiddenWords>ng generate component plainsight

Nhưng tôi cần phải tạo ra một thành phần con bên trong vùng đồng bằng. Có cách nào để làm với angular-cli?


15
ng tạo thành phần / đường dẫn / từ / ứng dụng / thư mục / đồng bằng
maxime1992

4
như @Maxime đã đề cập hoặc cd vào thư mục
Z. Bagley

Câu trả lời:


124

Việc ng g component plainsight/some-nametạo một thư mục mới khi chúng ta sử dụng nó.

Đầu ra cuối cùng sẽ là:

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

Để tránh điều đó, hãy sử dụng tùy chọn phẳng ng g component plainsight/some-name --flat và nó sẽ tạo các tệp mà không tạo thư mục mới

plainsight/some-name.component.ts

11
tùy chọn --flat là những gì tôi đang tìm kiếm!
rủi ro

1
@ user3611927 --flat là câu trả lời sẽ sử dụng các thư mục hiện có và chỉ tạo các thư mục không tồn tại. Hoàn hảo!! Đây phải là IMHO hành vi mặc định
Ngày Andrew

38

Phương pháp nhanh, đơn giản và không có lỗi

tức là bạn muốn tạo một thành phần trong một app/componentthư mục, sau đó làm theo các bước sau

  1. Nhấp chuột phải vào thư mục mà bạn muốn tạo thành phần
  2. Chọn Open in Command Prompttùy chọn
  3. Trong thiết bị đầu cuối mới (bạn sẽ thấy đường dẫn đã chọn của mình), sau đó nhập ng g c my-new-component

Ngoài ra, bạn có thể kiểm tra quá trình này thông qua hình ảnh này

nhập mô tả hình ảnh ở đây


1
Bạn là một thiên tài hoặc tôi chỉ là một kẻ khờ khạo ... Cách tốt nhất từng có!
Ap0st0l

19

ng g c component-name

Để chỉ định vị trí tùy chỉnh: ng g c specific-folder/component-name

ở đây component-namesẽ được tạo trong thư mục cụ thể.

Cách tiếp cận Similarl thể được sử dụng để tạo ra các thành phần khác như directive, pipe, service, class, guard, interface, enum, module,, vv


12

mã ngắn hơn để tạo thành phần: ng g c component-name
để xác định vị trí của nó:ng g c specific-folder/component-name


Thông tin bổ sung thêm
mã ngắn hơn để tạo lệnh: ng g d directive-name
để chỉ định vị trí của nó:ng g d specific-folder/directive-name



4

Các tùy chọn trên không hoạt động với tôi vì không giống như tạo thư mục hoặc tệp trong thiết bị đầu cuối, khi CLI tạo một thành phần, nó sẽ thêm đường dẫn src / app theo mặc định vào đường dẫn bạn nhập.

Nếu tôi tạo thành phần từ thư mục ứng dụng chính của mình như vậy (SAU)

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

thành phần được tạo ra là thế này:

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

vì vậy tôi chỉ phải gõ

ng g c child/grandchild 

Hy vọng điều này sẽ giúp được ai đó


3

Tôi đã không gặp may mắn với các câu trả lời trên (bao gồm --flat), nhưng điều làm việc cho tôi là:

cd path/to/specific/directory

Từ đó, tôi chạy ng g c mynewcomponent


1

Đơn giản

ng g component plainsight/some-name

Nó sẽ tạo thư mục "plainsight" và tạo một số thành phần tên bên trong nó.


1

Thử sử dụng

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

Hoặc thử bằng tay, nếu bạn cảm thấy thoải mái hơn.


1

Một khi bạn đang ở trong thư mục của dự án của bạn. sử dụng cd path/to/directorysau đó sử dụng ng g c component_name --spec=falsenó tự động hóa mọi thứ và không có lỗi

các g cphương tiện tạo thành phần


1

Đi đến thư mục dự án trong dấu nhắc lệnh hoặc trong Project Terminal.

Chạy cmd: ng gc tên thành phần

nhập mô tả hình ảnh ở đây


1

Angular CLI cung cấp tất cả các lệnh bạn cần trong quá trình phát triển ứng dụng của bạn. Đối với yêu cầu cụ thể của bạn, bạn có thể dễ dàng sử dụng ng g( ng generate) để hoàn thành công việc.

ng g c directory/component-namesẽ tạo component-namethành phần trong directorythư mục.

Sau đây là bản đồ của một vài lệnh đơn giản bạn có thể sử dụng trong ứng dụng của mình.

  1. ng g c comp-namehoặc ng generate component comp-nameđể tạo một thành phần có tên 'comp-name'
  2. ng g s serv-namehoặc ng generate service serv-nameđể tạo một dịch vụ với tên 'tên dịch vụ'
  3. ng g m mod-namehoặc ng generate module mod-nameđể tạo một mô-đun với tên 'mod-name'
  4. ng g m mod-name --routinghoặc ng generate module mod-name --routingđể tạo một mô-đun có tên 'mod-name' với định tuyến góc

Hi vọng điêu nay co ich!

Chúc may mắn!


1

Nếu bạn sử dụng VSCode, hãy cân nhắc sử dụng Bảng điều khiển góc

Nó cung cấp một giao diện cho Angular CLI. Bạn sẽ thấy một tùy chọn để chỉ định đường dẫn.

Angular CLI vô cùng mạnh mẽ và có thể mở rộng. Trên thực tế, có rất nhiều khả năng giúp các nhà phát triển có tất cả các tùy chọn cấu hình khác nhau cho mỗi lệnh có sẵn cho họ.

Với Bảng điều khiển góc, bạn sẽ nhận được các đề xuất và có thể nâng cấp ngay cả các tính năng dễ bị lãng quên hoặc hiếm khi sử dụng nhất!

Angular Console là, cách đầu tiên và quan trọng nhất, là cách hiệu quả hơn để làm việc với những gì CLI Angular cung cấp.


0

Đầu tiên để tạo Thành phần bạn cần sử dụng: -

  • tên gc thành phần

    Bằng cách sử dụng lệnh trên, Thành phần mới sẽ được tạo trong một thư mục có
    (tên thành phần) mà bạn đã chỉ định ở trên.

Nhưng nếu bạn cần tạo một thành phần bên trong một thành phần khác hoặc trong thư mục cụ thể: -

  • ng gc tên thành phần / newComponentName

0

Cần sử dụng --dryRun khi sử dụng thư mục tùy chỉnh

Bạn có thể vượt qua đường dẫn thư mục tùy chỉnh của bạn cùng với nglệnh.

ng g c myfolder\mycomponent

Nhưng có khả năng bạn bỏ lỡ chính tả đường dẫn và thư mục mới sẽ được tạo hoặc thay đổi thư mục đích. Vì lý do dryRunnày là rất hữu ích. Nó hiển thị một đầu ra về cách các thay đổi sẽ bị ảnh hưởng.
nhập mô tả hình ảnh ở đây

Sau khi xác minh kết quả, bạn có thể chạy cùng một lệnh mà không cần -dthực hiện các thay đổi.

--dryRun = đúng | sai

Khi đúng, chạy qua và báo cáo hoạt động mà không viết ra kết quả.

Mặc định: sai

Bí danh: -d

Tài liệu chính thức: - https://angular.io/cli/generate

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.