Typescript: cum să importe clasa care a fost exportat folosind `export = uuid`

voturi
0

Sunt încercarea de a utiliza node_module uuid-jsdactilografiate. Am instalat atât modulul și tipizarea.

Întrebare: Cum pot importa modulul?


Metoda pe care vreau să o utilizați este uuid.create.

Acest lucru este definit în uuid-jstypings e ca acest lucru:

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

Doc dactilografiat spune că:

La importarea unui modul folosind export =, modulul de import-dactilografiat specific = necesită ( „modul“) trebuie să fie utilizat pentru a importa modulul.

Ceea ce pare să sugereze că trebuie să fac acest lucru:

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

Ceea ce pare să compilați la acest lucru:

const UUID = require(uuid-js)  

Există un motiv pentru care ar trebui să utilizeze în loc de import constantei în codul meu? De ce să nu utilizați doar codul compilat direct?

Mă simt ca folosind nevoie, la toate este ciudat. Poate, eu sunt mai bine fără utilizarea typings sau de a face altceva ...?

Care este diferența între utilizarea:

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

Și

const UUID = require(uuid-js)  

Am încercat, de asemenea, folosind o strategie mai tradiționale de import ca Madara Uchiha a sugerat, dar nu primesc erori.

Utilizarea import * as UUID from 'uuid-js'rezultatelor în:

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

Și folosind import UUID from 'uuid-js';rezultate din:

error TS1192: Module '.../node_modules/@types/uuid-js/index' has no default export.
Întrebat 29/01/2018 la 18:39
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Ambele import something = require('something')și export = somethingsunt sintaxe moștenite inventate de mașină de scris înainte de module ES2015 au fost un lucru.

Acum, vom folosi sintaxa modul standard, astfel:

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

La typings fragmentul prezentat indică faptul că ar trebui să utilizați prima.

Publicat 29/01/2018 la 18:43
sursa de către utilizator

voturi
0

Cum sunt acestea diferite

importimportă , de asemenea, tipurile . const/requirenu.

Publicat 29/01/2018 la 18:42
sursa de către utilizator

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