Как сгенерировать UUID с угловым 2?

Я использую Angular 2 для регистрации: имя, фамилия, адрес электронной почты и пароль.

После отправки данные хранятся через вызов API в базе данных (nodeJs и mongo) и генерируют токен JWT, который отправляется обратно клиенту.

Теперь я должен добавить/сгенерировать UUID (универсальный уникальный идентификатор). Поскольку я никогда раньше не делал такого рода функции, мне нужен подход и идея/решение, как достичь этого... может ли JWT-токен быть альтернативой UUID? Если да, этого будет достаточно.

В противном случае я предпочел бы избежать любых больших изменений в форме или ее функциональности.

Я искал, но не нашел полезного решения. Я попробовал пакет npm angular2-uuid, но после установки его как зависимости, ng build -prod выдает ошибку, которая не ясна.

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

Ошибка:

ERROR в. /~/@angular/flex-layout/@angular/flex-layout.es5.js Ошибка сборки модуля: Ошибка: ENOENT: нет такого файла или каталога, откройте '/Users/username/dev/app/node_modules/@угловой /flex- макет/@угловой /flex- layout.es5.js '@./src/$$_gendir/app/app.module.ngfactory.ts 25: 0-44 @./src/main.ts @multi webpack-dev-server/client? http://localhost: 4200./src/main.ts

Любая идея или подсказка, пожалуйста?

Ответ 1

Исправлена ошибка. Решение: я узнал, что, когда я установил пакет angular2-uuid через командную строку, он автоматически хранился в package.json непосредственно перед/над пакетом: @angular/flex-layout.

Поскольку ошибка была не понятна, я просто удалил ее в другую позицию в package.json и ошибка исчезла. все работает нормально.

Ответ 2

Он загружается как часть Угловой зависимости, используйте его так:

import { v4 as uuid } from 'uuid';

@Component(..)
export class AppComponent {

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

Ответ 3

попробуйте это (https://github.com/wulfsolter/angular2-uuid)

Как сказал док,

import { UuidService } from 'angular2-uuid';

constructor(private uuid: UuidService) //<-- pass it in contructor as service

const uuid = this.uuid.generate(); //<-- use it

Надеюсь, это поможет вам! .. вы можете видеть, что это немного изменилось из того, что он сообщает здесь (https://www.npmjs.com/package/angular2-uuid)