Typescript如何在const变量

时间:2017-04-25 13:55:05

标签: angular typescript

我正处理一个奇怪的情况,至少对我而言。在我的angular 2项目中,在一个打字稿模块中,我试图替换下面显示的硬编码路径:

const routes: Routes = [
 { path: '', redirectTo: 'login', pathMatch: 'full' },
 { path: 'login', component: LoginComponent, canActivate: [AuthGuardLogin] },
 { path: 'landing', component: LandingComponent, canActivate: [AuthGuardService] }
];

通过这种方法:

const routes: Routes = [
 { path: RootUris.Base, redirectTo: RootUris.Login, pathMatch: 'full' },
 { path: RootUris.Login, component: LoginComponent, canActivate: [AuthGuardLogin] },
 { path: RootUris.Landing, component: LandingComponent, canActivate: [AuthGuardService] }
];

RootUris就是这样的一个类:

export class RootUris {
    public static readonly Base: string = '';
    public static readonly Login: string = 'login';
    public static readonly Landing: string = 'landing';
}

当我在dev中工作时一切顺利,即使我运行应用程序它工作正常但是当我尝试使用 ng build --prod 构建它时我得到了这个:

  

非法状态中的错误:没有成员预期的符号,但得到{“filePath”:“C:/dev/myApp/client/src/app/common/url-mapping.ts”,“name”:“RootUris” , “成员”:[ “基础”]}

      ./src/main.ts中的错误   找不到模块:错误:无法解析'C:\ repo \ behavioral-health-legend \ client \ src'中的'./$$_gendir/app/app.module.ngfactory'    @ ./src/main.ts 4:0-74    @ multi ./src/main.ts

这里最罕见的是,如果我替换数组的第一个元素(只有那个,其余的仍然使用静态属性):

{ path: RootUris.Base, redirectTo: RootUris.Login, pathMatch: 'full' }

通过这个:

{ path: '', redirectTo: 'login', pathMatch: 'full' }

一切正常。

那么,有没有人知道为什么我不能在那里使用我的类的静态属性(在数组的第一个元素中)?有什么想法吗?

0 个答案:

没有答案