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';
الأول يحتاج مني أن أدرج كل شيء. أود استيراد جميع الأنواع.
البنية الثانية تحتاج إلى بادئة فضاء الأسماء:
foo.ClassA.أفهم أن الأخير هو 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" />
يجب أن تكون في السطر الأول أو الأسطر الأولى من الملف.
- متى أحتاج إلى مرجع ثلاثي الشرطات؟
- https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
