Angular2:ERROR in Error遇到静态解析符号值

时间:2017-09-04 10:24:34

标签: angular webpack angular-cli

我使用的是angular / cli 1.3.2和Angular 4.4.0。 当我使用npm模块angular-split@0.2.2时,在编译期间我遇到了

  

ERROR in Error遇到静态解析符号值。   不支持函数调用。考虑更换功能或   lambda引用导出的函数(位置194:50 in   原始.ts文件),解析符号NgModule   path-to-project/node_modules/angular-split/node_modules/@angular/core/core.d.ts,   解析符号AngularSplitModule   路径到项目/ node_modules /角度分割/ DIST / angularSplit.module.d.ts,   解析符号AngularSplitModule   路径到项目/ node_modules /角度分割/ DIST / angularSplit.module.d.ts

文件angularSplit.module.d.ts中只有一行代码:

export declare class AngularSplitModule {}

但是,可以通过保存任何文件并触发重新编译(奇怪)来“解决”此错误。

然后,当我在浏览器中打开localhost:4200时,我会看到另一个错误:

compiler.es5.js:1694 Uncaught Error: Unexpected value 'AngularSplitModule' imported by the module 'AppModule'. Please add a @NgModule annotation.

从github和stackoverflow我发现了一些类似的问题,但没有人能说出原因。

这是在我更新了node / angular / angular-cli之后发生的,但在我回滚后它仍然无效。

有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:10)

好的,经过几个小时的阅读后,我发现了一个有用的解决方案 https://github.com/angular/angular-cli/issues/3854#issuecomment-274344771

具体,添加 paths: { "@angular/*": ["../node_modules/@angular/*"] }tsconfig.json文件,"compilerOptions"选项

它解决了我的问题,但仍然想知道原因。

答案 1 :(得分:2)

我也遇到了以下错误:

  

静态求解符号值时出错。表达形式不   支持(原始.ts文件中的30:19位置),解析符号   /.../ src / app / app.module.ts

中的AppModule

在app.module.ts中,代码格式不正确:

之前:

@NgModule({
    declarations: [
        AppComponent,
        HomeComponent,,
    ]

将其更正为:

@NgModule({
declarations: [    
    AppComponent,
    HomeComponent
  ]

它奏效了。可能对任何人都有用。谢谢