我正在尝试使用-aot
选项(ng build -aot
)构建应用。我有以下错误:
ERROR in Error during template compile of 'MyComponent'
Function calls are not supported in decorators but 'classLogger' was called in 'cLog'
'cLog' calls 'classLogger'.
但是我需要这个调用,我不知道如何更改代码以使其工作。
export function classLogger(_classOptions?) {
const myLogger = new MyLogger();
myLogger.options = Object.assign({}, defaultClassOptions, _classOptions);
return myLogger.loggerCB;
}
// export function clog(options = defaultClassOptions): Function {
export function cLog(options?): Function {
return loggingEnabled ? classLogger(options) : emptyClassDecorator();
}
P.S。类装饰器接受必须转移到装饰器补丁回调的选项。
答案 0 :(得分:1)
我也遇到过这个问题。在我的情况下,我想覆盖BusyConfig参数。应用程序与ng serve
一起正常运行,但是当我想要为生产Function calls are not supported in decorators but ...
构建应用程序时,会发生异常。
我的解决方案如下:
ng build --prod --aot=false
Angular Ahead-of-Time(AOT)编译器转换您的Angular HTML 和TypeScript代码在构建期间成为高效的JavaScript代码 浏览器下载并运行该代码之前的阶段。
ng build --prod
与ng build --prod --aot