I am losing my mind and hair over this. I am importing HighCharts in Angular 2 but need to require some of its extra libraries. So far in my code I have
import {ChartModule} from 'angular2-highcharts';
@NgModule({
....
imports:[
ChartModule.forRoot(require('highcharts'), require('highcharts/modules/drilldown'))})
]
But I keep getting this error
ERROR in Error encountered resolving symbol values statically. Calling function 'ChartModule'. function calls are not supported. Consider replacing the function or lambda with a reference to an exported fucntion.
So I tried
export function highchartsRequire:any {
return{
require('highcharts'),
require('highcharts/modules/drilldown')
}
}
...
ChartModule.forRoot(highchartsRequire())
Still doesn't work. Any ideas?
Using angular 2 angular cli: 1.0.0-beta.30
UPDATE - got it partially working thanks to JayChase
This works
export function highchartsFactory() {
return require('highcharts');
}
But I cannot require two at a time
declare var require: any;
export function highchartsFactory() {
return function () {
require('highcharts');
require('highcharts/modules/drilldown')
};
}
@NgModule({
imports: [
ChartModule
],
providers: [
{
provide: HighchartsStatic,
useFactory: highchartsFactory
}
],
Any ideas? Thank you.