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