Maszynopis: jak importować klasy, który został wyeksportowany z użyciem `eksport = uuid`

głosy
0

Ja próbuje użyć node_module uuid-jsw maszynopisie. Mam zainstalowany zarówno modułu i pisanie.

Pytanie: Jak mogę zaimportować moduł?


Sposób, który chcę wykorzystać to uuid.create.

Jest to określone w uuid-js„s typowania jak ten:

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

Maszynopis doc mówi, że:

Podczas importu modułu poprzez eksport =, moduł import Typescript = wymaga specyficznych ( „moduł”), należy stosować do importowania moduł.

Co wydaje się sugerować, że muszę to zrobić:

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

Który wydaje się skompilować do tego:

const UUID = require(uuid-js)  

Czy istnieje powód, należy użyć importu zamiast const w moim kodu? Dlaczego nie wystarczy użyć skompilowany kod bezpośrednio?

Czuję się przy użyciu wymagają w ogóle jest dziwne. Może jestem lepszy bez wykorzystaniem typowania lub robić coś innego ...?

Jaka jest różnica między używaniem:

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

I

const UUID = require(uuid-js)  

Zrobiłem też spróbować użyć bardziej tradycyjną strategię import jak Madara Uchiha zasugerował, ale pojawiają się błędy.

Korzystanie import * as UUID from 'uuid-js'wyniki w:

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

I korzystania z import UUID from 'uuid-js';wyników w:

error TS1192: Module '.../node_modules/@types/uuid-js/index' has no default export.
Utwórz 29/01/2018 o 18:39
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Zarówno import something = require('something')i export = somethingsą starsze składnie wymyślone przez maszynopis przed moduły ES2015 były rzeczą.

Teraz używamy standardową składnię modułu, tak jak poniżej:

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

Do typowania snippet ty jakie wskazuje, że należy użyć tego pierwszego.

Odpowiedział 29/01/2018 o 18:43
źródło użytkownik

głosy
0

Jak są te różne

importrównież importuje typów . const/requirenie.

Odpowiedział 29/01/2018 o 18:42
źródło użytkownik

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