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

Explication détaillée de l'utilisation d'Angular CLI pour générer du code à partir de plans

亚连
Libérer: 2018-05-29 11:05:38
original
1463 Les gens l'ont consulté

Cet article présente principalement l'explication détaillée de l'utilisation d'Angular CLI pour générer du code à partir de plans. Maintenant, je le partage avec vous et le donne comme référence.

Le premier article est : "Utiliser Angular cli pour générer des projets Angular5" : http://www.jb51.net/article/136621.htm

Cet article parle principalement de la génération de composants, Directive, service, classe, interface, énumération, etc.

Commande ng generate .

Le format de cette commande est ng generate < name> .

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, générera un person.component.ts

ng générera des données de vente de service, générera un sales-data.service.ts.

ng générera un utilisateur de classe. -model générera un user-model.ts qui contient 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 les commandes, par exemple :

ng generate composant personne Pour cette commande, générer dans

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

.

peut être remplacé par la lettre c. Remplacer.

Donc ces deux commandes sont égales :

ng generate component person
ng g c person
Copier après la connexion

Vous pouvez y aller ici pour afficher les commandes et les alias liés aux composants :

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

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

  1. - -flat indique s'il n'est pas nécessaire de créer un dossier

  2. --inline-template (-it) si le modèle doit être placé dans le fichier ts

  3. --inline-style (-is) Indique si le style doit être placé dans le fichier ts.

  4. -- spec S'il est nécessaire de créer un fichier de spécifications (fichier de test)

  5. --view-encapsulation (-ve) Voir la stratégie d'encapsulation (simplement comprise comme la stratégie de portée des fichiers de style).

  6. --change-detection (-cd) change Vérifiez la stratégie.

  7. --prefix Définissez le préfixe de ce composant

  8. --dry-run (-d), imprimer la liste de fichiers générée n'est pas générée directement

Regardez les deux paires suivantes de. commandes avec la même fonction. Il est plus pratique d'utiliser des alias :

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

Essayez ces commandes ci-dessous :

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, 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.ts .

Ensuite, supprimez le paramètre -d et générez le fichier :

Vous pouvez voir que le fichier est généré dans le projet et mis à jour app.module.ts, en y faisant 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 fonctionnent.

Grâce à la page de gestion du code source, vous pouvez voir que ces deux commandes ont un effet sur l'application. Quelles mises à jour ont été apportées à .module :

déclare respectivement les deux composants générés

Ensuite je m'engage...

Directive.

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

Voici le rapport du fichier, ce qui suit est la génération réelle :

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

Par la gestion du code source de vscode, vous pouvez voir les changements :

la directive génère deux fichiers identiques au composant, elle est également déclarée dans app.module. >

Regardez la structure des répertoires :

La structure de la directive générée n'a pas de répertoire, ce qui est plat.

Si vous ne le faites pas souhaitez générer un style plat et souhaitez qu'il ait son propre dossier, puis utilisez le paramètre --flat :

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

Vous avez maintenant votre propre dossier.

Commitez-le.

Service.

可以看到 这个命令会生成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执行生成命令后:

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用Angular CLI生成路由的方法

使用Angular CLI进行Build(构建)和Serve详解

使用Angular CLI进行单元测试和E2E测试的方法

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!