1

aotAngular 6 项目在打开时无法在 prod 中编译。

我知道我应该将函数表达式转换为导出的函数,但是由于发生了什么,我无法正确完成它。我四处寻找有类似问题的人,但没有得到他们的帮助。我认为我的例子更激烈一些。

问题文件

export const createReducer = <T>(type: string) => () => {
    return <T>(state = createInitialState<T>(), action: any): IState<T> => {
        switch (action.type) {
            case `CLEARCACHE_${type}`: {
                return state = createInitialState();
            }
            case `CREATE_${type}`: {
                return incrementLoading(state);
            }
            ... Other cases.
        }
    }
}

问题文件的调用者

export const reducers = {
    company: (createReducer(getStoreKey(Company)))(),
    mortgages: (createReducer(getStoreKey(Mortgage)))(),
    ... More of the same.
}

我无法用我的小脑袋思考实际发生的事情以及如何适当地对其进行逆向工程。

如果您需要更多代码或信息,请告诉我。

这是完整的错误。

ERROR in src\app\data\store\store.module.ts(14,27): Error during template compile of 'StoreModule'
    Function expressions are not supported in decorators in 'reducers'
        'reducers' references 'createReducer' at src\app\data\store\reducers\index.ts(13,15)
            'createReducer' contains the error at src\app\data\store\reducers\generic.reducer.ts(53,30)
    Consider changing the function expression into an exported function.
4

0 回答 0