typescript - نمیتوان از کلاسهای موجودیت با NgModule در Angular 2 استفاده کرد


من در یک پروژه با Angular 2 + Typescript کار میکنم و اخیراً برنامه را با استفاده از NgModule راهاندازی کردهام.

من از برخی کلاسهای ES5 برای نمایش موجودیتها در سرویسها و کامپوننتها استفاده میکنم، اما اینها توسط کتابخانههای خارجی مانند zone.js یا platform-browser شناسایی نمیشوند.

کنسول این خطا را ثبت میکند:

TypeError: نمیتوان ویژگی 'toString' از مقدار null را خواند

چگونه میتوانم این کلاسها را در NgModule صادر کنم تا از منابع خارجی قابل دسترسی باشند؟

@NgModule({
   imports: [
       BrowserModule,
       RouterModule,
       FormsModule,
       HttpModule,
       JsonpModule,
       routing
   ],
   providers: [
       HeroService,
       appRoutingProviders
   ],
   declarations: [
       HeroComponent
   ],
   bootstrap:    [ AppComponent ]
})
export class AppModule { }

فرض کنیم من از یک کلاس Hero به این شکل استفاده میکنم:

export class Hero {
    id: number;
    name: string;
    constructor(id: number, name: string) {
        this.id = id;
        this.name = name;
    }
}

وقتی سعی میکنم از این کلاس Hero در Services و Promises استفاده کنم، همیشه خطا میگیرم زیرا در تعریف NgModule ارائه نشده است.

پاسخ شماره ۱

به نظر میرسد تغییرات در rc5 اجازه نمیدهند فایل جاوااسکریپت مینیفای شده شما تغییر کند:

https://github.com/angular/angular/issues/10618

راه حل این بود که از خراب کردن جلوگیری کنند، تا زمانی که برای این مشکل راه حلی پیدا شود.