Typescript Node.js应用程序中的guid / uuid

Posted

tags:

篇首语:本文由小常识网(cha138.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

答案

是的,这是我项目的代码:

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

根据测试:

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

import uuid = require('uuid');

let uuidv4: string = uuid.v4();
另一答案
import * as uuid from "uuid";
const id: string = uuid.v4();
另一答案

这对我也有用:

import uuidv4 from 'uuid/v4'

this.projectId = uuidv4()

以上是关于Typescript Node.js应用程序中的guid / uuid的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 与 WebStorm 中的 Typescript 编译 - 两者都使用 Node.js 进行编译吗?

如何清理 Node.js 和 Typescript 中的响应正文

如何使用 Node.js 包中的 TypeScript 键入信息?

nodemon 没有在 webpack-typescript-node.js 中监视目录?

使用 Visual Studio 2012 express 进行 TypeScript、node.js 开发

在 node.js 中扩展 TypeScript 全局对象