TypeScript/JavaScript - tuo kaikki tyypit


Kuinka voin tuoda kaikki tyypit tietystä tiedostosta?

Oletetaan, että minulla on myClass.ts ja otherClass.ts. Haluan tuoda kaikki luokat tiedostosta otherClass.ts.

Olen nähnyt muutamia syntakseja tuonnille.

import ClassA, { ClassB, ClassC } from 'otherClass';

import * as foo from 'otherClass';

import foo = require('otherClass');

import 'rxjs/Rx';
  1. Ensimmäinen tarvitsee minun listata kaiken. Haluaisin tuoda kaikki tyypit.

  2. Toinen syntaksi tarvitsee nimiavaruuden etuliitteen: foo.ClassA.

  3. Ymmärrän, että viimeisin on TypeScript 1.4, mutta silti tuettu.

Onko jotain tällaista?

import * from "otherClass";
...
   var x = new ClassA()

Myös, mitä tarkoittaa { ... } ja miksi jotkut tyypit ovat ulkopuolella ja jotkut sisäpuolella?

Dokumentaatio ei vihjaa mitään sellaista.

Vastaus #1

ES6-moduulien kanssa lähin asia siihen, mitä haluat, on nimialueen tuonti:

import * as foo from './otherClass';

Sen käyttö yksittäisinä vientituotteina

foo.ClassA

Voit nähdä käytettävissä olevat tuontityypit import-dokumentaatiossa.

Myös, mikä on { ... } merkitys ja miksi osa tyypeistä on ulkopuolella ja osa sisällä?

Se on nimettyjen vientien tuomista varten. Voit lukea siitä dokumentaatiosta, johon viittasin, tai vastauksestani täällä.

Vastaus #2

Voit käyttää kolmoista kauttaviivaa tuontiin:

/// <reference path="./actionsCollection.ts" />

Niiden täytyy olla tiedoston ensimmäisellä rivillä (riveillä).

  1. Milloin tarvitsen kolmoisvinoviittauksen?
  2. https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html

Aiheeseen liittyviä artikkeleita