Maison > interface Web > js tutoriel > le corps du texte

Comment Angular CLI utilise des plans pour générer du code

php中世界最好的语言
Libérer: 2018-06-14 10:35:55
original
1177 Les gens l'ont consulté

Cette fois, je vais vous montrer comment Angular CLI utilise des plans pour générer du code, et quelles sont les précautions à prendre pour qu'Angular CLI utilise des plans pour générer du code. Ce qui suit est un cas pratique, jetons un coup d'œil.

commande ng generate .

Le format de cette commande est ng generate >Vous pouvez également utiliser le paramètre --dry-run pour lister les fichiers à générer au lieu de les générer réellement

Par exemple :

ng générer une personne de composant, une personne sera générée. .component.ts.

ng generate service sales-data générera un sales-data.service.ts.

ng generate class user-model générera un user-model.ts À l'intérieur se trouve la classe UserModel.

Components.

ng La commande pour générer xxx xxx est encore un peu longue Ici, angulaire cli a des alias intégrés pour la commande, pour. exemple :

ng generate composant personne Dans cette commande, le generate dans

peut être remplacé par la lettre g, et le composant dans

peut être remplacé par la lettre c .

Ces deux commandes sont donc égales :

Vous pouvez accéder ici pour afficher les commandes et les alias liés aux composants :
ng generate component person
ng g c person
Copier après la connexion

https://github.com/ angulaire/angular-cli/wiki/generate-component

Les paramètres de commande éventuellement couramment utilisés sont :

    --flat indique s'il n'est pas nécessaire de créer un dossier
  1. --inline- template (-it) Indique si le modèle doit être placé dans le fichier ts
  2. --inline-style (-is ) Indique si le style doit être placé dans le fichier ts.
  3. --spec Si vous devez créer un fichier de spécifications (fichier de test)
  4. --view-encapsulation (-ve) Afficher la stratégie d'encapsulation (simplement comprise comme la portée de la stratégie de fichier de style).
  5. --change-detection (-cd) Stratégie de détection des changements .
  6. --prefix Définir le préfixe de ce composant
  7. --dry-run (-d), imprimer la liste des fichiers générés au lieu de le générer directement.
  8. Voir les deux paires d'effets suivantes Pour les mêmes commandes, il est pratique d'utiliser des alias :

Essayons ces commandes :
ng generate component person
ng generate component person --inline-template --inline-style
ng g c person
ng g c person -it -is
Copier après la connexion

Créez le projet : ng new my-app Attendez la fin de l'installation de npm avant de continuer.

Après avoir créé le projet, entrez dans le répertoire et exécutez la commande :

ng g c person -d
Copier après la connexion

Cette commande générera les 4 fichiers ci-dessus et mettra à jour app.module.

Supprimez le paramètre -d ci-dessous et générerez le fichier :

Vous pouvez voir que le fichier est généré dans le projet et mis à jour app.module.ts et y a fait une déclaration de composant

<.>Essayez de générer un autre composant, en utilisant certains paramètres. Voir la stratégie d'encapsulation et de détection des changements :

ng g c student -ve Emulated -cd OnPush
Copier après la connexion

Vous pouvez voir que les paramètres ont pris effet.

Grâce à la page de gestion du code source, vous pouvez voir quelles mises à jour ces deux commandes ont apportées à app.module :

Déclarez respectivement les deux composants générés.

Alors je m'engage...

Directive.

ng g d filter-box -d
Copier après la connexion

Voici le rapport du dossier, la génération actuelle ci-dessous :

Grâce à la gestion du code source de vscode, vous pouvez voir les changements :

ng g d filter-box
Copier après la connexion

La directive génère deux fichiers, qui sont identiques au composant, et sont également déclarés dans app.module.

Regardez la structure des répertoires :

生成的directive的结构是没有目录, 也就是flat的.

如果不想生成flat样式的, 想让其拥有自己的文件夹, 那么就是用--flat参数:

ng g d filter-box2 --flat false
Copier après la connexion

这样就有自己的文件夹了.

commit一下.

Service.

ng g s order-data -d
Copier après la connexion

可以看到 这个命令会生成flat结构的service.

然后把-d去掉, 真实生成文件:

ng g s order-data
Copier après la connexion

可以从源码管理看到, 只生成了两个文件, 并没有在app.module里面注册:

当然可以在这里写代码把刚才生成的service注册进去.

但是正确的做法是使用 -m 参数来指定需要注册的module:

ng g s order-data2 -m app
Copier après la connexion

这次生成的order-data2 service就会在app.module.ts里面进行注册了.

然后再commit一下.

Model/Interface/Enum/Pipe.

model:

ng g cl models/user
Copier après la connexion

这个命令会创建models文件夹, 然后在里面创建user这个model:

interface:

ng g i models/animal
Copier après la connexion

enum:

ng g e models/gender
Copier après la connexion

commit一下.

Pipe.

ng g p camel-case
Copier après la connexion

除了生成两个文件之外, 这个命令默认也会更新app.module.

Module.

ng g m login
Copier après la connexion

可以看到module默认是自带文件夹的.

然后我试试添加一个component, 目的是要在login module进行声明:

可以看到我要创建的welcome component默认是在app.module里面进行声明的, 这时候如果想要在login module进行声明, 就要使用 -m 参数:

去掉-d执行生成命令后:

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Vue+bass.scss使用详解

jQuery回车触发按钮事件(附代码)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!