我刚刚将Angular2项目更新为RC4,当我打开应用程序时,路由器现在在控制台中发出此警告消息:
router.umd.js:2466 'FrontpageComponent' not found in precompile array. To ensure all components referred to by the RouterConfig are compiled, you must add 'FrontpageComponent' to the 'precompile' array of your application component. This will be required in a future release of the router.
Run Code Online (Sandbox Code Playgroud)
我试图找出我需要做些什么来解决这个问题,但由于文档很少,我找不到答案.什么是这个预编译数组,我在哪里可以找到它或如何添加它?
我正在使用Angular 2和Router 3.0.0-aplha.8.
我正在尝试使用CanActivate函数来检查用户是否经过身份验证.我有一个实现CanActivate的AuthGuard,现在我只返回true.
route.ts
import { Injectable } from '@angular/core'
import { provideRouter, RouterConfig, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router} from '@angular/router';
import { AuthGuard } from './auth-guard'
import { SecurityComponent } from './security/security.component';
import { AdminDashboardComponent } from './admin/admin.dashboard.component';
export const mainRoutes: RouterConfig = [
{ path: '', component: SecurityComponent, },
{ path: 'admin', component: AdminDashboardComponent, terminal: true, canActivate: [AuthGuard] }]
export const MAIN_ROUTER_PROVIDER = provideRouter(mainRoutes);
Run Code Online (Sandbox Code Playgroud)
AUTH-guard.ts
import { Injectable } from '@angular/core';
import {
CanActivate,
Router,
ActivatedRouteSnapshot,
RouterStateSnapshot
} …Run Code Online (Sandbox Code Playgroud)