如何在Node.js中要求GSAP

我尝试在Node.js中包含GSAPanimation库 例如,我尝试运行带有完整function的GSAP,并且需要先包含“TweenMax.js”,然后再包含“TimelineMax.js”。 在GSAP的最后一个版本中,我看到'TweenMax.js'和'TimelineMax.js'在代码实现中有Node.js的module.exports,但是当我试图用Node.js来要求它们时 – require('./lib/gsap/TweenMax.js') ,Node.js返回我

 'reference error: document is not defined' 

在TweenMax.js中打破所有的脚本。

如果有任何想法如何解决这个问题,请帮助。 谢谢。

从论坛采取:

 // shim for all the methods gsap is testing for css prefixes, etc var window = {} , navigator = { userAgent: "" } , dummyElement = { style: {}, getElementsByTagName: function() { return [] } } , document = { createElement: function() { return dummyElement } }; /* insert tweenmax here */ // export timeline max module.exports = TimelineMax; 

我试图使用由ХристоПанайотов提供的垫片,但我无法得到它的工作。 下面是详细的步骤: 请注意,所有这些修改都是在同一个文件/node_modules/gsap/src/uncompressed/TweenMax.js上完成的

1 – 首先安装gsap

 npm install gsap 

2 – 将以下内容添加到您的文件的开头(* shimmed以便在浏览器中工作):

 var window = window || this , navigator = window.navigator || { userAgent: "" } , dummyElement = { style: {}, getElementsByTagName: function() { return [] } } , document = document || { createElement: function() { return dummyElement } }; 

3 – 将下面的“if”语句添加到6526上/附近的以下循环中。

 for (p in _tweenLookup) { a = _tweenLookup[p].tweens; if(a && a.length) { // *** this is what I added (ends up undefined somehow). i = a.length; while (--i > -1) { if (a[i]._gc) { a.splice(i, 1); } } if (a.length === 0) { delete _tweenLookup[p]; // possible culprit: if this is an array, you should splice it! } } } 

4 – 在文件末尾,在主要closures之前,添加以下内容:

 module.exports = _gsScope; 

5 – 如何使用:

 var gsap = require('gsap'); var Timelinelite = gsap.TimelineLite; var TweenMax = gsap.TweenMax; var Easing = gsap.Easing; /// ect... 

这里是一个链接到我的github回购,我把我的工作TweenMax.js脚本: 这里

我无法解决以下“缺失的依赖关系”; 这似乎并没有影响到目前为止(经过testing的TweenlineMax,TweenMax,Easing等)。 错误是:

 GSAP encountered missing dependency: com.greensock.size GSAP encountered missing dependency: com.greensock.clean GSAP encountered missing dependency: com.greensock.byIndex 

…任何人都知道这些居住|| 如何解决它?