Tapuscrit: comment importer la classe qui a été exportée en utilisant `export = uuid`

voix
0

Je tente d'utiliser le node_module uuid-jsdactylographiée. J'ai installé le module et la frappe.

Question: Comment puis-je importer le module?


La méthode que je veux utiliser est uuid.create.

Ceci est défini dans uuid-jsles typages de » comme celui - ci:

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

Le doc dactylographiée dit que:

Lors de l'importation d'un module à l'aide export = module d'importation spécifique-tapuscrit = require ( « module ») doit être utilisé pour importer le module.

Ce qui semble impliquer que je dois faire ceci:

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

Ce qui semble compiler à ceci:

const UUID = require(uuid-js)  

Y at-il une raison pour laquelle je devrais utiliser l'importation au lieu de const dans mon code? Pourquoi ne pas simplement utiliser directement le code compilé?

Je me sens comme l'utilisation de besoin du tout est impair. Peut-être, je suis mieux sans utiliser les typages ou faire autre chose ...?

Quelle est la différence entre l'utilisation:

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

Et

const UUID = require(uuid-js)  

J'ai essayé également d'utiliser une stratégie d'importation plus traditionnelle comme suggéré Madara Uchiha, mais je reçois des erreurs.

En utilisant les import * as UUID from 'uuid-js'résultats dans:

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

Et en utilisant les import UUID from 'uuid-js';résultats dans:

error TS1192: Module '.../node_modules/@types/uuid-js/index' has no default export.
Créé 29/01/2018 à 18:39
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Les deux import something = require('something')et export = somethingsont syntaxes hérités inventées par tapuscrit avant les modules ES2015 étaient une chose.

Maintenant, nous utilisons la syntaxe du module standard, comme suit:

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

Les typages snippet vous posiez indique que vous devez utiliser l'ancien.

Créé 29/01/2018 à 18:43
source utilisateur

voix
0

Comment sont-ils différents

importimporte également les types . const/requirene fait pas.

Créé 29/01/2018 à 18:42
source utilisateur

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