angular 5 webpack不包括模型类

时间:2017-11-14 17:18:33

标签: angular webpack angular-cli

我正在使用angular 5.我创建了一些模型类,用于序列化从服务器接收的json数据。这些模型类不在角度5代码中实例化。当webpack创建main.bundle.js时,它不包含这些类。代码编译正确,但我在运行时遇到错误。

Uncaught (in promise): TypeError: _this.contentTemplate.init is not a function
TypeError: _this.contentTemplate.init is not a function

发生此错误的相应代码是:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';

import { ContentTemplate } from '../model/content-template.model';

@Injectable()
export class ContentTemplateService {

  contentTemplate: ContentTemplate;

  constructor(private http: HttpClient) { }

  init(): Observable<ContentTemplate> {

    console.log("Loading content template...");

    if (this.contentTemplate) {
      return Observable.of(this.contentTemplate);
    } 

    return this.http.get<ContentTemplate>('/template')
           .map(
               contentTemplate => { 
                 this.contentTemplate = contentTemplate; 
                 this.contentTemplate.init();
                 return this.contentTemplate;
               },
               error => {
                 // TODO: error loading template
               }
             );
  }

}

内容模板模型类如下:

import { Container } from './container.model';
import { DataDefinition } from './data-definition.model';

export class ContentTemplate {

  id: string;
  version: string;

  dataDefinition: DataDefinition;

  init() {
    this.dataDefinition.init();
  }
}

如果我在调用的任何类中创建这些类的实例:

const myContentTemplate = new ContentTemplate();

然后webpack包含这个类。

我是webpack和angular的新手,所以我无法弄清楚我是否遗漏了什么。

感谢。

0 个答案:

没有答案