我使用的是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之后发生的,但在我回滚后它仍然无效。
有谁知道为什么会这样?
答案 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
]
它奏效了。可能对任何人都有用。谢谢