Angular 2 - AOT - Función de llamada 'ChartModule', llamadas de función no compatibles
Estoy perdiendo la cabeza y el pelo por esto. Estoy importando HighCharts en Angular 2 pero necesito requerir algunas de sus bibliotecas adicionales. Hasta ahora en mi código tengo
import {ChartModule} from 'angular2-highcharts';
@NgModule({
....
imports:[
ChartModule.forRoot(require('highcharts'), require('highcharts/modules/drilldown'))})
]
Pero sigo recibiendo este error
ERROR en error encontrado resolviendo valores de símbolos estáticamente. Llamando a la función 'ChartModule'. las llamadas a funciones no son compatibles. Considere reemplazar la función o lambda con una referencia a una función exportada.
Así que lo intenté
export function highchartsRequire:any {
return{
require('highcharts'),
require('highcharts/modules/drilldown')
}
}
...
ChartModule.forRoot(highchartsRequire())
Aún no funciona. ¿Algunas ideas?
Usando angular 2 angular cli: 1.0.0-beta.30
ACTUALIZACIÓN: funcionó parcialmente gracias a JayChase
Esto funciona
export function highchartsFactory() {
return require('highcharts');
}
Pero no puedo requerir dos a la vez
declare var require: any;
export function highchartsFactory() {
return function () {
require('highcharts');
require('highcharts/modules/drilldown')
};
}
@NgModule({
imports: [
ChartModule
],
providers: [
{
provide: HighchartsStatic,
useFactory: highchartsFactory
}
],
¿Algunas ideas? Gracias.