在ng serve命令后,我在Angular 4项目中出现以下错误。
./ SRC /应用/的Utils / config.service.ts 有多个模块的名称只有外壳不同。 在使用其他case-semantic编译文件系统时,这可能会导致意外行为。 使用相同的套管。比较这些模块标识符: * D:\ ANGULAR \ siteprice.org \ node_modules \ @ngtools \ webpack \ src \ index.js!D:\ ANGULAR \ siteprice.org \ src \ app \ Utils \ config.service.ts 由1个模块使用,i。即 d:\ ANGULAR \ siteprice.org \ node_modules \ @ngtools \的WebPack的\ src \ index.js d:\ ANGULAR \ siteprice.org的\ src \程序\ utils的\ email.service.ts * D:\ ANGULAR \ siteprice.org \ node_modules \ @ngtools \ webpack \ src \ index.js!D:\ ANGULAR \ siteprice.org \ src \ app \ utils \ config.service.ts 由2个模块使用,i。即 d:\ ANGULAR \ siteprice.org \ node_modules \ @ngtools \的WebPack \ SRC \ index.js d:\ ANGULAR \ siteprice.org \ SRC \应用\ app.module.ts
config.service.ts文件:
import { Injectable } from '@angular/core';
@Injectable()
export class ConfigService {
_apiURI : string;
constructor() {
this._apiURI = 'http://www.example.com/xyz/api/';
}
getApiURI() {
return this._apiURI;
}
getApiHost() {
return this._apiURI.replace('api/','');
}
}
email.service.ts:
import { Injectable } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import {Observable} from 'rxjs';
import 'rxjs/add/operator/map';
import { ConfigService } from '../Utils/config.service';
import { Email } from '../Models/email';
@Injectable()
export class EmailService {
apiRoot: string = '';
constructor(private http: Http, private configService: ConfigService) {
this.apiRoot = configService.getApiURI();
}
我检查了服务名称的大小写,它们是正确的。
答案 0 :(得分:9)
我发现了这个问题,我认为它可能是CLI中的一个错误。
Utils文件夹名称应为utils。所以第一个字母是小写的。 我的Windows目录中的utils文件夹是用小写创建的。 所以我改变了这个:
import { ConfigService } from '../Utils/config.service';
为:
import { ConfigService } from '../utils/config.service';
修改强>
看起来这是一个已知问题,其中一个建议的解决方案是在Windows中使用kebap案例文件,文件夹名称。