我有多个Angular配置。
要扩展默认配置,我使用lodash merge:
import { merge } from 'lodash'
import { defaults } from './defaults'
export const configuration = merge(defaults, {
debugApp: 'sp5:auth,sp5:sim-filter-system'
})
但是,当我使用AOT标志进行构建时,这种方法会引起问题。
扩展配置的正确方法是什么?谢谢
答案 0 :(得分:1)
尝试使用
const config = {
debugApp: 'sp5:auth,sp5:sim-filter-system'
};
Object.keys(defaults).forEach(key => config[key] = config[key] ? config[key] : defaults[key]);
export const configuration = config;
这应该获得defaults
中的所有键,如果您在config
中声明了它们,它们将保留其值。
答案 1 :(得分:0)
事实证明,在某些地方,AOT构建似乎只喜欢ES5语法。这就是其中之一。
import { defaults } from './defaults'
export const configuration = Object.assign(defaults, {
debugApp: 'sp5:auth,sp5:sim-filter-system'
})
此外,我在AOT构建上的某个地方读到,如果它只有一个语句并且该语句是return语句,则可以使用静态函数。