2017-09-22 36 views
0

这是我真正的错误:如何解决Angular中没有导出的成员错误?

Failed to compile. 
C:/Examples/my-app/src/app/lake.service.ts (4,10): Module '"C:/Examples/my-app/src/app/lake-info"' has no exported member 'LAKES'. 

这里是lake-info代码:

import { Lake } from './lake'; 

export const LAKES: Lake[] = [ 
    { name: 'Manitoba'}, 
    { name: 'Khanka'} 
]; 

这里是lake.service.ts代码:

import { Injectable } from '@angular/core'; 

import { Lake } from './lake'; 
import { LAKES } from './lake-info'; 

@Injectable() 
export class LakeService { 
    getLakes(): Lake[] { 
    return LAKES; 
    } 
} 

这里是lake.ts的代码:

export class Lake { 
    name: string; 
} 

我在Angular网站上关注this tutorial。我的lake-info文件基于this file

让我知道如果我需要添加更多的细节。

+0

你怎么导入湖泊? –

+0

分享你的lake.service.ts! –

+0

@GauravSrivastava我在添加代码。 :) –

回答

1

定义lake.ts在同一文件夹中的文件,并添加以下代码:

export class Lake { 
    constructor(public id = 0, public name = '') { } 
    clone() { return new Lake(this.id, this.name); } 
} 

您可以根据您的要求定制的。

+0

Angular网站上的教程是否错误?他们在文件中似乎没有相应的代码。 :) 我也在我的问题中加入了'lake.ts'的代码以供参考。 –

+0

@VineetSharma yes看起来他们错过了教程 –

+0

@VineetSharma上的hero.ts代码,你应该在添加lake.ts之后得到这个错误,我在本地测试它。请重新编译代码。 –

0

我在plnkr中尝试你的代码,没关系。

https://plnkr.co/edit/kW6B5VSxcmrwQiyQshQT?p=preview

难道你移动你的项目代码到plnkr并分享给我吗?

也许是你编译错误的原因是导入顺序(我不确定,只是猜测)。

尝试拖动文件导入的拓扑图并检查图中是否为循环。

在我plnkr的情况下,图中是像下面并没有循环(循环进口是不是不允许的,但很容易造成问题):

lake.ts <- lake-info.ts 
^^  ^^ 
| |   | | 
| lake.service | 
| ^  | 
|  |  | 
app.component.ts 
相关问题