升级到Angular 7后,我无法使用AOT(使用Ionic)创建构建。
我运行ionic cordova build android
并获得
ERROR in Error during template compile of 'AppModule'
Function calls are not supported in decorators but 'NgForageModule' was called.
app.module.ts:
import {NgForageModule, Driver} from 'ngforage';
...
imports: [
NgForageModule.forRoot({
name: 'next-storage',
driver: [
Driver.INDEXED_DB,
Driver.WEB_SQL,
Driver.LOCAL_STORAGE
]
}),
...
]
...
答案 0 :(得分:0)
我必须使用提供的DEFAULT_CONFIG
并将自定义配置从imports
移到providers
。
app.module.ts
中的更改:
import {Driver, NgForageOptions, DEFAULT_CONFIG} from 'ngforage';
...
const ngfRootOptions:NgForageOptions = {
name: 'next-storage',
driver: [
Driver.INDEXED_DB,
Driver.WEB_SQL,
Driver.LOCAL_STORAGE
]
};
...
providers: [
{
provide: DEFAULT_CONFIG,
useValue: ngfRootOptions
}
...
]
...
答案 1 :(得分:0)
此处是Ngforage的作者。
这是Angular 7中引入的一个怪异的回归。ng6和ng7之间的库中没有任何变化,但是,当我在ng7中使用forRoot
安装它时,我遇到了相同的错误并使用了{{ 1}}成为唯一的配置解决方案。
本来应该用Ivy修复的,但是还没有到ng8。如果ng9仍然存在问题,我将完全删除DEFAULT_CONFIG
API。
供参考: