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';
Ensimmäinen tarvitsee minun listata kaiken. Haluaisin tuoda kaikki tyypit.
Toinen syntaksi tarvitsee nimiavaruuden etuliitteen:
foo.ClassA.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ä).
- Milloin tarvitsen kolmoisvinoviittauksen?
- https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
