1. ホーム
  2. node.js

[解決済み] Typescript Node.js アプリで guid/uuid を使用する

2022-03-06 08:42:48

質問

を作ろうとしています。 uuid (v 3.0.1) パッケージを Node/Typescript アプリで動作させたいのですが、何をどうインポートすればいいのかがよくわかりません。

これは index.d.ts から @types/uuid v 2.0.29):

declare namespace uuid {
    interface V1Options {
        node?: number[];
        clockseq?: number;
        msecs?: number | Date;
        nsecs?: number;
    }

    type V4Options = { random: number[] } | { rng: () => number[]; }

    interface UuidStatic {
        (options?: V4Options): string;
        (options: V4Options | null, buffer: number[], offset?: number): number[];
        (options: V4Options | null, buffer: Buffer, offset?: number): Buffer;

        v1(options?: V1Options): string;
        v1(options: V1Options | null, buffer: number[], offset?: number): number[];
        v1(options: V1Options | null, buffer: Buffer, offset?: number): Buffer;
        v4: UuidStatic;
        parse(id: string): number[];
        parse(id: string, buffer: number[], offset?: number): number[];
        parse(id: string, buffer: Buffer, offset?: number): Buffer;
        unparse(buffer: number[] | Buffer, offset?: number): string;
    }
}

declare const uuid: uuid.UuidStatic
export = uuid

エクスポートされたクラスが見当たりません。

例えば index.d.ts から angular2-uuid はそのように見える。

export declare class UUID {
    constructor();
    static UUID(): string;
    private static pad4(num);
    private static random4();
}

そして、使い方は至極当然。

let id = UUID.UUID();

で、使い方(インポートと呼び出し)ですが uuid ?

解決方法は?

はい、これは私のプロジェクトからのコードです。

import { v4 as uuid } from 'uuid';
const id: string = uuid();

注意:定義ファイルをインストールするためには

npm install --save-dev @types/uuid