Angular 2导入路径无法正常工作

时间:2017-01-06 12:36:19

标签: angular angular2-services angular2-providers

我有一个服务,我注入了我的应用程序组件。

app.component.ts

import { Component } from '@angular/core';
import {ProductService} from '../../../products/Classes/Product.Service';
import {TestService   } from '../../../products/Classes/test.service';

@Component({
    selector: 'pm-app',
    moduleId:module.id,
    templateUrl: '../View/PageTitle.html',
    providers:[ProductService,TestService]

})
export class AppComponent {
    pageTitle:string ='Acme Product Management';
 }

我的文件夹结构如下 App Folder structure

我的服务存在于 P roducts文件夹中,而不是 p roducts文件夹中。当我在导入语句中将其更改为大写时,我的应用程序会断开“No Provider For ...”。有人可以告诉我为什么会这样。我不知道为什么!!!

3 个答案:

答案 0 :(得分:1)

如果您的班级在此档案中被命名为ProduceService,则该作品

import {ProductService} from '../../../Products/Classes/product.service';

答案 1 :(得分:1)

文件名区分大小写。

使用import {ProductService} from '../../../Products/Classes/product.service';

答案 2 :(得分:1)

我发现了问题

在我的 app.module

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ProductListComponent }  from '../../../products/component/product-list';
import { AppComponent }  from '../Component/app.component';
import {FormsModule} from '@angular/forms';
import {ProductListFilterPipe} from '../../../products/component/product-list-filter.pipe';
import {StarComponent} from '../../star/Component/star.component';

@NgModule({
  imports: [ 
    BrowserModule,
    FormsModule 
    ],
  declarations: [ AppComponent,ProductListComponent,ProductListFilterPipe,StarComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

我的ProductListComponent和ProductListFilterPipe的导入具有小写p。我把它改成了鞋面,现在它起作用了。

总结:路径在某种意义上区分大小写。从我的测试来看,它不是关于匹配文件夹案例的引用,而是保持引用一致。

由于