复制模块后无法读取未定义的属性'visitExpression'

时间:2017-01-23 14:28:36

标签: javascript angular typescript angular2-routing

我目前正在开发一个带有自定义模块的Angular2项目,以保持代码清洁。一切都很好,直到我将这个模块复制到另一个项目中。

自从我将模块复制到另一个项目后,我收到以下错误:Uncaught TypeError: Cannot read property 'visitExpression' of undefined

经过几个小时的谷歌搜索,我发现了几个可能的原因,我已经测试过(并且没有用):

  • 路由中的双逗号(,,)
  • 组件中的空选择器

以下是我尝试过的其他一些事情:

  • 查找模块中的每个导入并确保它是正确的。
  • 使用Gulp构建打字稿文件(构建成功但没有警告/错误)

我不知道接下来会尝试什么,有什么建议吗?

3 个答案:

答案 0 :(得分:1)

Routes数组中任何放错位置的逗号都可能导致此

const authRoutes: Routes = [,        //<--- This was my issue when I faced it
  {path: 'signup', component:  SignupComponent},
  {path: 'signin', component:  SigninComponent},
]

答案 1 :(得分:0)

我是因为逗号错了

 const routes: Routes = [
   { path: 'dashboard', component: DashboardComponent},
   { path: 'login', component: LoginComponent }
 ];

答案 2 :(得分:0)

当导入中可能有多余的逗号或不同的表达式时,会发生此错误。