Angular 2 - AOT - Função de chamada 'ChartModule', chamadas de função não suportadas
Estou perdendo a cabeça e o cabelo por causa disso. Estou importando HighCharts no Angular 2, mas preciso exigir algumas de suas bibliotecas extras. Até agora no meu código eu tenho
import {ChartModule} from 'angular2-highcharts';
@NgModule({
....
imports:[
ChartModule.forRoot(require('highcharts'), require('highcharts/modules/drilldown'))})
]
Mas continuo recebendo esse erro
ERRO em Erro encontrado ao resolver estaticamente os valores dos símbolos. Chamando a função 'ChartModule'. chamadas de função não são suportadas. Considere substituir a função ou lambda por uma referência a uma função exportada.
Então eu tentei
export function highchartsRequire:any {
return{
require('highcharts'),
require('highcharts/modules/drilldown')
}
}
...
ChartModule.forRoot(highchartsRequire())
Ainda não funciona. Alguma ideia?
Usando cli angular 2 angular: 1.0.0-beta.30
UPDATE - funcionou parcialmente graças ao JayChase
Isso funciona
export function highchartsFactory() {
return require('highcharts');
}
Mas não posso exigir dois de cada vez
declare var require: any;
export function highchartsFactory() {
return function () {
require('highcharts');
require('highcharts/modules/drilldown')
};
}
@NgModule({
imports: [
ChartModule
],
providers: [
{
provide: HighchartsStatic,
useFactory: highchartsFactory
}
],
Alguma ideia? Obrigado.