web-dev-qa-db-ja.com

TypeScript Node.jsアプリのguid / uuid

Node/TypeScriptアプリでuuid(v 3.0.1)パッケージを動作させようとしましたが、何をインポートする必要があり、どのように使用するのかわかりません。

これは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.tsangular2-uuidは次のようになります。

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

そして、使用することは非常に明白です:

let id = UUID.UUID();

そう。使用方法(インポートと呼び出し)uuid

30
tBlabs

はい、ここに私のプロジェクトのコードがあります:

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

テストごと:

https://github.com/DefinitelyTyped/DefinitelyTyped/blob/354cec620daccfa0ad167ba046651fb5fef69e8a/types/uuid/uuid-tests.ts

import uuid = require('uuid');

let uuidv4: string = uuid.v4();
4
Joe

これは私にも役立ちます:

import uuidv4 from 'uuid/v4'

this.projectId = uuidv4()
2
GaryO
import * as uuid from "uuid";
const id: string = uuid.v4();
0
Steve Gula