无法将名称空间用作角类型

时间:2018-09-21 15:36:33

标签: node.js angular angular6 ngrx angular-services

我有一项服务,我无法使其正常运行,但是它与确实可以运行的另一项服务非常相似。它只是给我错误:

  

不能使用名称空间'FeatureService'作为类型。

我在Windows上使用角度6和ngrx。

这是我的效果文件,给我带来了麻烦。这很奇怪,因为我还有另一个类似的服务CoreService并没有给我带来这个问题。它们几乎是相同的。好吧,它们基于其他模块,我不确定是否可以有所作为。

import { FeatureService } from '../feature.services';
import { CoreService } from '../../core/core.services';

@Injectable()
export class ProfileEffects {
  constructor(
    private actions$: Actions<Action>,
    private localStorageService: LocalStorageService,
    private service: FeatureService,
    private service2: CoreService
  ) {}

}

这是我的服务文件:

@Injectable()
export class FeatureService {
  constructor(private httpClient: HttpClient) {}

  retrieveProfileData(profileId: number): Observable<any> {
    return this.httpClient
        .get(SERVER_URL_STAGING2 + profileId);
  }
}

有帮助吗?

1 个答案:

答案 0 :(得分:1)

我刚刚找到了解决方案。 由于我已经在模块核心上运行了服务,因此我创建了一个新文件夹以在其中添加所有服务,然后从核心添加了运行中的服务。我还添加了feature.service.ts,然后将这些文件添加到模块核心上的index.ts中。

所以,现在我有了这些。

import { FeatureService } from '@app/core';
import { CoreService } from '@app/core';

@Injectable()
export class ProfileEffects {
  constructor(
    private actions$: Actions<Action>,
    private localStorageService: LocalStorageService,
    private service: FeatureService,
    private service2: CoreService
  ) {}
}

具有以下index.ts文件:

export * from './services/core.services'
export * from './services/features.services'

最后,我具有以下文件结构:

|-- app     
     |-- core
       |-- [+] authentication
       |-- services
           |-- core.ts  
           |-- features.ts  
       |-- core.module.ts  
       |-- index.ts  
     |-- features
       |-- profile
           |-- profile.efects.ts  

我希望它能对某人有所帮助。