This is the same solution that I had to use. The below is placed in my local index.vue file. It does not work (at least for me) when placed in the nuxt.config.js
head() {
return {
script: [
{ src: 'gsap/TweenMax.min.js' },
{ src: 'gsap/TweenLite.min.js' },
{ src: 'gsap/TimelineLite.min.js' },
{ src: 'gsap/TimelineMax.min.js' },
{ src: 'gsap/SplitText.min.js' },
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js' },
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/animation.gsap.js' },
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/plugins/ScrollToPlugin.min.js' },
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/debug.addIndicators.min.js' }
]
}
}
NOTE: SplitText.js threw an "Unexpected Token {" error. I had to use the .min version and had no problems. All greensock files are located in a subfolder 'gsap' inside of the 'static' folder.