Angular 6+如何扩展默认配置(在环境中)

时间:2018-08-20 12:15:16

标签: angular

我有多个Angular配置。

要扩展默认配置,我使用lodash merge:

import { merge } from 'lodash'
import { defaults } from './defaults'

export const configuration = merge(defaults, {
  debugApp: 'sp5:auth,sp5:sim-filter-system'
})

但是,当我使用AOT标志进行构建时,这种方法会引起问题。

扩展配置的正确方法是什么?谢谢

2 个答案:

答案 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语句,则可以使用静态函数。