在 create-react-app 中使用 GSAP 的 scrollToPlugin 时出错
Error using GSAP's scrollToPlugin with create-react-app
我正在尝试将 GSAP 的 scrollToPlugin 与 facebook 的 'create-react-app' 一起使用,但是我收到此错误 -
./~/gsap/src/uncompressed/plugins/ScrollToPlugin.js 模块出错:'TweenLite'
我假设这是因为插件需要 TweenLite 但它的文件没有导入它。我读到我可以通过 webpack.config 文件解决这个问题,但是我不想弹出。有人知道解决这个问题的另一种方法吗?
他们的论坛上有很多关于这个问题的讨论:
http://greensock.com/forums/topic/14873-gsap-npmwebpack-import-for-scrolltoplugin/
如果您不想 eject
一个 hacky 的方法是删除 /node_modules/gsap/src/uncompressed/plugins/ScrollToPlugin.js
文件中的第 180-185 行。
那么您可以:
import TweenLite from 'gsap';
import 'gsap/src/uncompressed/plugins/ScrollToPlugin';
...
TweenLite.to(something, someValue, {scrollTo: someValue})
由于它对模块的支持是 broken,目前它似乎优先支持像 RequireJS 这样的系统,而不是像 Browserify 和 webpack 这样的现代捆绑器,你最好的做法可能是将库复制到 public
文件夹并将其用作 HTML 文件中的 <script>
标记。然后不用导入,而是将其与浏览器全局变量一起使用。
我正在尝试将 GSAP 的 scrollToPlugin 与 facebook 的 'create-react-app' 一起使用,但是我收到此错误 -
./~/gsap/src/uncompressed/plugins/ScrollToPlugin.js 模块出错:'TweenLite'
我假设这是因为插件需要 TweenLite 但它的文件没有导入它。我读到我可以通过 webpack.config 文件解决这个问题,但是我不想弹出。有人知道解决这个问题的另一种方法吗?
他们的论坛上有很多关于这个问题的讨论:
http://greensock.com/forums/topic/14873-gsap-npmwebpack-import-for-scrolltoplugin/
如果您不想 eject
一个 hacky 的方法是删除 /node_modules/gsap/src/uncompressed/plugins/ScrollToPlugin.js
文件中的第 180-185 行。
那么您可以:
import TweenLite from 'gsap';
import 'gsap/src/uncompressed/plugins/ScrollToPlugin';
...
TweenLite.to(something, someValue, {scrollTo: someValue})
由于它对模块的支持是 broken,目前它似乎优先支持像 RequireJS 这样的系统,而不是像 Browserify 和 webpack 这样的现代捆绑器,你最好的做法可能是将库复制到 public
文件夹并将其用作 HTML 文件中的 <script>
标记。然后不用导入,而是将其与浏览器全局变量一起使用。