web-dev-qa-db-fra.com

Comment générer un UUID avec angular 2?

J'utilise Angular 2 pour un formulaire d'inscription: prénom, nom, email, mot de passe.

Après la soumission, les données sont stockées via un appel API dans une base de données (nodeJs et mongo) et génèrent un jeton JWT qui est renvoyé au client.

Maintenant, je devrais ajouter/générer un UUID (Universal Unique Identifier). Comme je n’avais jamais fait ce genre de fonctionnalité auparavant, j’ai besoin d’une approche et d’une idée/solution pour y parvenir. Le jeton JWT serait-il une sorte d’alternative à l’UUID? Si oui, cela suffirait.

Sinon, je préférerais éviter de gros changements sur le formulaire ou ses fonctionnalités.

J'ai cherché, mais n'ai pas trouvé de solution utile. J'ai essayé le paquet npm angular2-uuid, mais après l'avoir installée en tant que dépendance, le ng build -prod jette une erreur qui n'est pas claire.

import { UUID } from 'angular2-uuid';
....
let uuid = UUID.UUID();

Erreur:

ERREUR dans le fichier @ angular/flex- layout/@angular/flex-layout.es5.js '@ ./src/$$_gendir/app/app.module.ngfactory.ts 25: 0-44 @ ./src/main.ts @ multi webpack-dev-server/client? http: // localhost: 42 ./src/main.ts

Une idée ou un indice s'il vous plaît?

26
k.vincent

Problème résolu. Solution: J'ai découvert que lorsque j'ai installé le paquet angular2-uuid via la ligne de commande, il a été automatiquement stocké dans package.json directement avant/sur le paquet: @angular/flex-layout.

Comme l'erreur était en quelque sorte pas claire, je l'ai juste enlevée à une autre position dans le: package.json et l'erreur est partie. tout fonctionne bien.

0
k.vincent

Il est téléchargé dans le cadre de la dépendance d'Angular, utilisez-le comme suit:

import { v4 as uuid } from 'uuid';

@Component(..)
export class AppComponent {

  console.log('new uid: ', uuid());
}
89
Zolcsi