Dattiloscritto: come importare classe che è stato esportato con `export = uuid`

voti
0

Sto tentando di usare il node_module uuid-jsa macchina. Ho installato sia il modulo e la tipizzazione.

Domanda: Come posso importare il modulo?


Il metodo che voglio usare è uuid.create.

Questo è definito nella uuid-js's tipizzazioni come questo:

export = uuid;
declare class uuid {
    equals(uuid: uuid): boolean;
    ... 
    static create(version?: number): uuid;
    ...
}

Il documento dattiloscritto dice che:

Durante l'importazione di un modulo utilizzando export =, modulo di importazione specifiche del dattiloscritto = require ( modulo) deve essere utilizzato per importare il modulo.

Il che sembra implicare che ho bisogno di fare questo:

import UUID = require('uuid-js');

Che sembra per compilare a questo:

const UUID = require(uuid-js)  

C'è un motivo dovrei usare importazione invece di const nel mio codice? Perché non usare direttamente il codice compilato?

Mi sento come l'utilizzo richiedono a tutti è strano. Forse, sto meglio senza usare le tipizzazioni o fare qualcos'altro ...?

Qual è la differenza tra l'utilizzo di:

import UUID = require('uuid-js');

E

const UUID = require(uuid-js)  

Ho anche provare a utilizzare una strategia più tradizionale di importazione come Madara Uchiha ha suggerito, ma ottengo gli errori.

Utilizzando import * as UUID from 'uuid-js'i risultati in:

error TS2497: Module '.../node_modules/@types/uuid-js/index' resolves to a non-module entity and cannot be imported using this construct.

E l'utilizzo di import UUID from 'uuid-js';risultati in:

error TS1192: Module '.../node_modules/@types/uuid-js/index' has no default export.
È pubblicato 29/01/2018 alle 18:39
fonte dall'utente
In altre lingue...                            


2 risposte

voti
1

Entrambi import something = require('something')e export = somethingsono sintassi legacy inventati da dattiloscritto prima moduli ES2015 erano una cosa.

Ora, usiamo la sintassi modulo standard, in questo modo:

import * as UUID from 'uuid-js'; // if uuid-js has no export default
// or
import UUID from 'uuid-js'; // if it does.

Le tipizzazioni snippet si posato indica che si dovrebbe usare l'ex.

Risposto il 29/01/2018 a 18:43
fonte dall'utente

voti
0

Come sono questi diversi

importimporta anche i tipi . const/requirenon.

Risposto il 29/01/2018 a 18:42
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more