Я пытаюсь использовать ngc для компиляции angular 2.4.4:
Error: Error encountered resolving symbol values statically. Expression form not supported (position 52:9 in the original .ts file), resolving symbol DEFAULT_APP_STATE in...
Похоже, он жалуется на то, как я экспортирую константу для @ ngrx / store.
Я попытался превратить константу в экспортированную функцию ... а также все свойства.
Ранее:
export const DEFAULT_APP_STATE = {
Offline: DEFAULT_APP_OFFLINE_STATE,
Initialized: DEFAULT_APP_INITIALIZED_STATE,
Console: DEFAULT_CONSOLE_DICTIONARY,
Identity: DEFAULT_IDENTITY,
HamburgerState: DEFAULT_HAMBURGER_STATE,
Customers: DEFAULT_CUSTOMER_STATE,
UserMenuVisibility: DEFAULT_USER_MENU_VISIBILITY,
StreamViewMultiple: DEFAULT_STREAM_VIEW_MULTIPLE_STATE,
StreamViewSingle: DEFAULT_STREAM_VIEW_SINGLE_STATE,
Streams: DEFAULT_STREAM_DICTIONARY,
Destinations: DEFAULT_DESTINATION_DICTIONARY,
DestinationList: DEFAULT_DESTINATION_LIST_STATE,
IDestinationTranscodeModal: DEFAULT_DESTINATION_TRANSCODE_MODAL_STATE
} as IAppState;
В настоящее время:
export function DEFAULT_APP_STATE() {
return {
Offline: DEFAULT_APP_OFFLINE_STATE(),
Initialized: DEFAULT_APP_INITIALIZED_STATE(),
Console: DEFAULT_CONSOLE_DICTIONARY(),
Identity: DEFAULT_IDENTITY(),
HamburgerState: DEFAULT_HAMBURGER_STATE(),
Customers: DEFAULT_CUSTOMER_STATE(),
UserMenuVisibility: DEFAULT_USER_MENU_VISIBILITY(),
StreamViewMultiple: DEFAULT_STREAM_VIEW_MULTIPLE_STATE(),
StreamViewSingle: DEFAULT_STREAM_VIEW_SINGLE_STATE(),
Streams: DEFAULT_STREAM_DICTIONARY(),
Destinations: DEFAULT_DESTINATION_DICTIONARY(),
DestinationList: DEFAULT_DESTINATION_LIST_STATE(),
IDestinationTranscodeModal: DEFAULT_DESTINATION_TRANSCODE_MODAL_STATE()
} as IAppState;
};
Я использую это в моем импорте [] как таковой:
...
imports: [
...,
StoreModule.provideStore({
Offline: APP_OFFLINE_REDUCER,
Initialized: APP_INITIALIZED_REDUCER,
Console: CONSOLE_REDUCER,
Identity: IDENTITY_REDUCER,
Customers: CUSTOMER_REDUCER,
Hamburger: HAMBURGER_REDUCER,
UserMenuVisibility: USER_MENU_VISIBILITY_REDUCER,
StreamViewSingle: STREAM_VIEW_SINGLE_REDUCER,
StreamViewMultiple: STREAM_VIEW_MULTIPLE_REDUCER,
Streams: STREAM_REDUCER,
Destinations: DESTINATION_REDUCER,
DestinationList: DESTINATION_LIST_REDUCER,
DestinationTranscodeModal: DESTINATION_TRANSCODE_MODAL_REDUCER
}, DEFAULT_APP_STATE()),
...
],...
Каждый редуктор уже был изменен с постоянного лямбда-объявления на экспортированную функцию.
Старый
export const reducer = () => { ...}
новый
export function reducer() { ... }
Может ли кто-нибудь понять, на что жалуется компилятор ngc?