2017-08-18 1 views
3

登録フォームに「Angular 2」を使用しています: 名、姓、メールアドレス、パスワード。角度2でUUIDを生成する方法は?

送信後、データはデータベース(nodeJsおよびmongo)のAPI呼び出しを介して格納され、クライアントに返されるJWTトークンを生成します。

ここでは、UUID(Universal Unique Identifier)を追加/生成する必要があります。前にこの種の機能を使ったことがないので、これを達成する方法とアイデア/解決策が必要です.JWTトークンはUUIDの代替品ですか?はいの場合は、これで十分でしょう。

それ以外の場合は、フォームまたはその機能に大きな変更を加えないことをお勧めします。

私は検索しましたが、有用な解決策が見つかりませんでした。私はnpmパッケージangular2-uuidを試しましたが、それを依存関係としてインストールした後、ng build -prodは明らかではないエラーを投げます。

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

エラー:

ERROR in ./~/@angular/flex-layout/@angular/flex-layout.es5.js Module 
build failed: Error: ENOENT: no such file or directory, open 
'/Users/username/dev/app/node_modules/@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:4200 ./src/main.ts 

任意のアイデアやヒントしてください?

+0

'...'任意のアイデアをclear'たりしてくださいヒントされていないエラーをスロー 'ヒント:?エラーは何ですか? –

+0

@ダーレンスウィーニー:はい、そうです。ごめんなさい。 'ERROR in ./~/@angular/flex-layout/@angular/flex-layout.es5.js モジュールビルドに失敗しました:エラー:ENOENT:そのようなファイルやディレクトリがない、 '/ Users/username /dev/app/node_modules/@angular/flex-layout/@angular/flex-layout.es5.js ' @ ./src/$$_gendir/app/app.module.ngfactory.ts 25:0-44 @ ./src/main.ts @ webpack-dev-server/client?http:// localhost:4200。/ src/main.ts' エラーは実際にはインストールされた 'UUID'とは関係ありません。アンインストールするとエラーになります。 –

答えて

0

問題が修正されました。解決方法:パッケージangular2-uuidをコマンドライン経由でインストールしたとき、そのパッケージの直前または直後にpackage.jsonに自動的に格納されていたことがわかりました。@angular/flex-layout

エラーが明確でないため、私はちょうどpackage.jsonの別の位置にそれを削除してエラーがなくなりました。すべて正常に動作します。

0

は言うDOCとして、この(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

+0

エラー: '[ts]モジュール '"/Users/username/dev/app/node_modules/angular2-uuid/index "'にエクスポートされたメンバ 'UuidService'がありません。 –

+0

あなたのプロバイダに広告を送ります。 –

+0

' add .module.ts'?これは私が考えていたものです。私はそれを試してみましょう。 –

14

それが好きで使用し、角度の一部です:

import { v4 as uuid } from 'uuid'; 

@Component(..) 
export class AppComponent { 

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

ありがとう、それは動作します!私は将来の読者のために[ここでのデモ](https://stackblitz.com/edit/angular-uuid-generation?file=app%2Fapp.component.ts)を作成しました。それが角度の部分であるかどうか分からない、私は[this](https://www.npmjs.com/package/uuid)パッケージが使用されていると思う。 – cyberpirate92

関連する問題