Cet article présente comment angularjs utilise les bibliothèques tierces. Quelles bibliothèques tierces peuvent être utilisées par angulairejs ?
Les composants et modules d'Angular semblent être un peu incompatibles avec les bibliothèques tierces existantes (telles que : lodash
, moment
, etc.). La raison principale en est l'illusion provoquée par. Tapuscrit . Les trois piliers du front-end sont en fait les mêmes. Quel que soit le framework front-end utilisé, ces bibliothèques tierces peuvent être utilisées.
Ce qui suit, j'expliquerai sous un autre angle comment Angular utilise des bibliothèques tierces.
Avant de commencer, vous devez comprendre le système de module TypeScript - un module est exécuté dans sa propre portée, pas dans la portée globale sur laquelle s'appuie Time ; export
et import
pour établir des relations. Pendant le processus de compilation, le compilateur s'appuie également sur cette relation pour localiser les fichiers à compiler.
TypeScript publie toujours des bibliothèques de classes sous la forme de fichiers JavaScript, ce qui entraîne des types qui ne peuvent pas être exprimés et nécessitent un fichier de déclaration pour décrire le type. Par conséquent, le fichier de déclaration est devenu un élément indispensable de la bibliothèque de classes ; .
Angular est développé en utilisant le langage TypeScript. Comme mentionné dans la section précédente, pour qu'une bibliothèque de classes soit utilisée, la condition essentielle est de savoir s'il existe un . dossier de déclaration .
Pour distinguer si la bibliothèque de classes a un fichier de déclaration*.d.ts
, vous pouvez le confirmer sous deux aspects :
1. Classe La bibliothèque est livrée avec
Après avoir installé un package dépendant de Npm, vous pouvez directement vérifier si le package.json
de sa bibliothèque contient le nœud typings
, tel que moment
:
"typings": "./moment.d.ts"
2. Recherche TypeSearch
TypeScript fournit un site Web appelé TypeSearch, où vous pouvez directement saisir des mots-clés pour vérifier si le fichier de déclaration de la bibliothèque de classes est inclus. Par exemple, peut être cliqué dans la liste pour accéder au site Web npm, et vous verrez une commande comme celle-ci : lodash
npm install --save @types/lodash
Dans ce cas, vous ne pouvez rédiger le fichier de déclaration que vous-même. G2
fichier de déclaration, qui sera automatiquement inclus dans la src/typings.d.ts
définition de déclaration globale, et ce serait une bonne idée d'écrire les informations de déclaration de ces bibliothèques de classes mais.
pour certains objets globaux (ce qui signifie ignorer le type Static). vérification) est également disponible, par exemple : any
// src/typings.d.ts declare var G2: any;
pour importer là où le module est nécessaire, par exemple : import
import * as moment from 'moment'; moment(); // 当前时间
pour indiquer que l'on ignore la vérification de type statique signifie que l'utilisateur ne peut pas profiter du plaisir des invites intelligentes apportées par le fichier de déclaration. any
, nous pouvons l'utiliser directement n'importe où dans le projet, mais il ne peut reconnaître que les variables G2
, et les méthodes ou propriétés de l'instance sont agnostiques. G2
// app.component.ts const g2 = new G2(); g2. // 输入 `.` 后是不会有任何方法或属性
pendant le processus de compilation. L'existence de G2
ne peut être déterminée que par vous-même. Pour Angular, ces modules doivent être explicitement chargés sur le nœud G2
de .angular-cli.json
. (Si vous souhaitez en savoir plus, rendez-vous sur le site Web PHP chinois scripts
Manuel de développement AngularJS pour en savoir)
// .angular-cli.json "scripts": [ "../node_modules/@antv/g2/dist/g2.min.js" ]
fichiers JavaScript associés, Naturellement, une erreur G2
introuvable sera fournie pendant le fonctionnement. G2
ici. Maintenant,D'accord, cet article se termine ici (si vous voulez en voir plus, rendez-vous sur le site Web PHP chinoisG2
a fourni un document de déclaration.G2
Manuel d'utilisation d'AngularJS pour en savoir plus). Si vous avez des questions, vous pouvez laisser un message). ci-dessous.
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!