使用webpack的Angular 2应用程序

时间:2017-01-05 05:20:54

标签: angular webpack-2

Earilier我使用System JS为模块加载开发了一个示例Angular 2应用程序,它运行正常。

现在我想使用webpack模块捆绑器而不是系统JS,我已经做了相应的更改。

现在,当我在浏览器中运行应用程序时,它会在控制台中显示以下错误。

  

“无法找到加载'HomeComponent'的主要插座   错误:找不到加载'HomeComponent'的主要插座“

以下是与路由

相关的根模块代码
RouterModule.forRoot( [
              {path:'' , component:HomeComponent},
              {path:'acategories/:id/products/:pid' , component:ProductComponent},
              //{path:'acategories/productsx/:pid' , component:ProductComponent},
              {path:'acategories/:id/products' , component:ProductsComponent},                  
              {path:'acart' , component:CartComponent},
              {path:'about' , component:AboutComponent},
              {path:'aorders' , component:OrderDetailsComponent},
              {path:'asearch' , component: ProductSearchComponent},
              {path:'**',component:PageNotFoundComponent}
          ]),

以下是我的根组件代码

@Component({    
    selector:'my-app',
    templateUrl: './app.component.html'

})

app.component.html有

 ...
 <router-outlet></router-outlet>
 ...

这是我的Home组件代码

@Component({ 
selector:'',
templateUrl:'./home.component.html'
})

所有这些文件都在同一个文件夹中。 知道需要修改什么。

2 个答案:

答案 0 :(得分:0)

不要将home组件的选择器保持为空,并尝试在Html中的某处使用它。

答案 1 :(得分:0)

我的组件中是templateUrl路径问题,不得不修改

@Component({    
selector:'my-app',
templateUrl: './app.component.html'

}) 

@Component({    
selector:'my-app',
templateUrl: './app/app.component.html'

})

使用fiddler检查从服务器返回的内容后,能够识别问题。