Forum Discussion
How To: Include a script in my web part
- Feb 26, 2019
Hi smithme ,
you can find best practics to add external libraries to spfx webpart here https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/basics/add-an-external-library
Talking about gstatic, if you are using plain Javascript, and not React, as per documentation, you need to reference external non-AMD module.
Here you can find a sample https://github.com/AJIXuMuK/issues/tree/master/google-charts
Cheers,
Federico
Hi smithme ,
you can find best practics to add external libraries to spfx webpart here https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/basics/add-an-external-library
Talking about gstatic, if you are using plain Javascript, and not React, as per documentation, you need to reference external non-AMD module.
Here you can find a sample https://github.com/AJIXuMuK/issues/tree/master/google-charts
Cheers,
Federico
- smithmeFeb 26, 2019Brass Contributor
I hope I did this right. I added the following to my config/config.json:
"externals": {"charts": {"globalName": "charts"}},then I added to my PieChartWebpart.ts:import * as charts from 'charts';I am currently getting and error on the 'charts' portion of that line.Am I doing this right?- Feb 26, 2019
hi smithme
if you see the GitHub link that I posted, you can find this configuration:
config/config.json
"externals": { "google": { "path": "https://www.gstatic.com/charts/loader.js", "globalName": "google" } },
google.d.ts under src/typing/
declare module "google" { interface IGoogle { charts: any; visualization: any; } var google: IGoogle; export = google; }
and in your ts webpart
import * as google from 'google';
and then you can use in this way i.e. https://github.com/AJIXuMuK/issues/blob/master/google-charts/src/webparts/helloWorld/HelloWorldWebPart.ts
Cheers,
Federico
- mc1052Sep 25, 2019Copper Contributor
FedericoPorceddu82 - Hi Fererico - sorrry to bother but i'v been searching for a solution for this problem all over the net and your assistance above means hopefully you know what could be my problem.
I have tried to get gsap animation library working in my webpart via cdn https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TweenMax.min.js
I get it loaded via the config.json:
"externals": {"TweenMax": {"globalName": "TweenMax"}}... and importing in the .ts file:
import * as TweenMax from 'TweenMax';but when i try to reference it in the render function as i should e.g:
TweenMax.to($('.domclassname'),2,{opacity: 0});
the build fails with code error 2 - as says that TweenMax is not defined.
Is there some declaration i am missing here?
regards
Mark