Ionic 框架 - 在低版本 TypeScript 上 Ngrx effects 无法工作
我有一个 Ionic 3 应用,在其中我使用了 ngrx/store 和 ngrx/effects。但每次我尝试运行应用时,它都会显示以下错误:
TypeScript 错误 类型字面量中的计算属性名称必须直接引用内置符号。...:找不到名称 'any'。
它指的是我 node modules 中的这个文件夹 node_modules/@ngrx/effects/src/on_run_effect.d.ts
到下面这段代码:
export declare function isOnRunEffects(sourceInstance: {
[onRunEffectsKey]?: onRunEffectsFn;
}): sourceInstance is OnRunEffects;
这个问题可以通过安装更高版本的typescript来解决,但目前我使用的是2.6.1,但是当我将其升级到更高版本的typescript时,我的应用在生产环境中无法正常工作,甚至console.log方法也无法使用。
下面是我的ionic 信息:
Ionic:
ionic (Ionic CLI) : 4.0.0-rc.13 (/home/clifford/.npm-global/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.2.0
Cordova:
cordova (Cordova CLI) : 8.0.0
Cordova Platforms : browser 5.0.4
System:
Android SDK Tools : 26.1.1
NodeJS : v6.12.2 (/usr/local/bin/node)
npm : 4.6.1
OS : Linux 4.13
Environment:
ANDROID_HOME : /home/clifford/Android/Sdk
如果有人能帮忙,将不胜感激。提前谢谢。
答案#1
可能你正在使用最新版本,它内部使用的是 TypeScript 3.1.x。请尝试降级到针对 TypeScript 2.6.x 的特定版本(5.2.0),然后检查一下。
npm install @ngrx/[email @ngrx/[email --save
