TypeScript/JavaScript - ייבא את כל הסוגים


איך אני יכול לייבא את כל הסוגים מקובץ מסוים?

נניח שיש לי את myClass.ts ואת otherClass.ts. אני רוצה לייבא את כל המחלקות מ-otherClass.ts.

ראיתי כמה תחבירי ייבוא.

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

import * as foo from 'otherClass';

import foo = require('otherClass');

import 'rxjs/Rx';
  1. הראשון צריך ממני לרשום הכל. אני רוצה לייבא את כל הסוגים.

  2. התחביר השני דורש את קידומת המרחב השמות: foo.ClassA.

  3. אני מבין שהאחרון הוא TypeScript 1.4, אך עדיין נתמך.

האם יש משהו כזה?

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

גם, מה המשמעות של { ... } וכמה מהסוגים נמצאים בחוץ וכמה בפנים?

התיעוד לא מרמז על שום דבר כזה.

תשובה #1

עם מודולים ב-ES6, הדבר הקרוב ביותר למה שאתה רוצה הוא ייבוא מרחב שמות:

import * as foo from './otherClass';

השימוש בו מייצא אינדיבידואלים כ

foo.ClassA

אתה יכול לראות את סוגי הייבוא הזמינים בתיעוד של import.

כמו כן, מהי המשמעות של { ... } וכמה מהסוגים להיות בחוץ וחלק בפנים?

זה לייבוא ייצוא בשם. אתה יכול לקרוא על זה בתיעוד שהפניתי אליו או בתשובתי כאן.

תשובה #2

אתה יכול להשתמש בייבוא עם שלוש קווים נטויים:

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

הם חייבים להיות בשורה (שורות) הראשונות של הקובץ.

  1. מתי אני צריך הפניה בשלוש קווים נטויים?
  2. https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html