1实现原理 · 为什么它能做到
先解决「许可证迷思」再讲 API:开篇一节专门纠正「Club GSAP 付费/需要 auth token/私有 registry」的过时信息,给出唯一正确安装路径。
Every GSAP plugin is **free**, including for commercial use.
注册范式统一:所有插件一律 gsap.registerPlugin() 先注册再用,且注册点固定在应用级(不在会重渲染的组件里)。
Register each plugin once so GSAP (and bundlers) know to include it.
按功能域分区成手册:Scroll / DOM-UI / Text / SVG / Easing / Physics / Development / Other,每插件配最小可用片段 + 关键配置表。
gsap.registerPlugin(ScrollToPlugin, Flip, Draggable);
SplitText 的用法教到「生命周期绑定」层级:autoSplit + onSplit 返回值驱动自动回收与进度同步,而不只是「拆字然后 stagger」。
Animations must be created inside onSplit()
MorphSVG 从基础到调参全覆盖:shapeIndex 对齐、map 匹配策略、的 smooth/curveMode/precompile 性能旋钮、render 画到 canvas。
MorphSVGPlugin.convertToPath("circle, rect, ellipse, line");
划定开发期插件的红线:GSDevTools 与 markers 类调试件不得进生产。
❌ Ship GSDevTools or development-only plugins to production.
隐含的插件组合依赖被显式写出:Draggable 的惯性抛掷必须同时注册 InertiaPlugin。
gsap.registerPlugin(Draggable, InertiaPlugin);
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| package | gsap(公共 npm 包,全部插件内含) |
| package | gsap 插件子路径(ScrollToPlugin/Flip/Draggable/InertiaPlugin/SplitText/MorphSVGPlugin/Physics2DPlugin/PixiPlugin…) |
| package | PixiJS(PixiPlugin 动画的宿主渲染库,第三方) |
| network | Webflow 收购 GSAP 公告(插件免费的依据) |
| network | GSAP 插件总文档 / Flip / DrawSVG / MorphSVG / SplitText 分页 |
4风险提醒 风险提醒:绿色 · 放心使用
- 「全部插件免费」是政策陈述,有时效性 — 结论基于 Webflow 收购后的官方政策(blog 链接);若未来条款变化,商业使用者需以官方许可为准,不应把 skill 文本当法律依据。
- 插件组合易漏注册 — InertiaPlugin/useGSAP 等需显式注册,漏了会静默失效(动画不报错但行为缺失);skill 已给出示例,但模型仍可能只 import 不 register。
- 部分插件改写页面结构 — ScrollSmoother 要求特定 wrapper DOM、Draggable 绑定指针事件、SplitText 会重写文本节点结构(可 revert);对可访问性与 SEO 的影响需实测。
- 第三方渲染库风险外溢 — PixiPlugin 场景实际依赖 PixiJS 本体;该库版本与供应链风险不属本 skill 覆盖范围,需使用者自行评估。
5第二遍独立确认
- [ok] 目录资产面:仅 SKILL.md — skills/gsap-plugins/ 下唯一文件 SKILL.md(21,579 B);无 scripts/、references/、二进制。
- [ok] external_deps 逐条核实 — npm 安装行、插件子路径 import、PIXI.Sprite 代码、以及 6 条 gsap.com URL(blog/webflow-GSAP、Plugins 总页、Flip、DrawSVGPlugin、MorphSVGPlugin、SplitText)全部逐字命中文件。
- [ok] 「无需 auth token / 私有 registry」是否为原文反例式约束 — 原文确为否定式告诫「❌ Do **not** generate an `.npmrc` with a GreenSock auth token, suggest the private `npm.greensock.com` registry…」——全仓 token 关键词命中处即此,非读取凭证。
- [ok] SplitText 的 onSplit/autoSplit 描述与 API 语义一致性 — 原文说明 autoSplit 在字体加载完成/宽度变化时重拆、动画须建于 onSplit 内并 return 以获得清理与进度同步,与官方 v3.13+ 行为一致;同时给出 aria/mask/smartWrap 等真实参数。
- [ok] MorphSVG 参数是否编造 — shapeIndex/map/smooth(v3.14+)/curveMode/origin/precision/precompile/render/updateTarget 与官方参数表一致;convertToPath/rawPathToString/stringToRawPath 静态方法真实存在。
- [ok] 安全反例搜索 — token 扫描:除上述否定式 auth token 一处外,curl/wget/fetch(/XMLHttpRequest/exec(/child_process/process.env/.env/API_KEY/secret 全零命中;无混淆/编码载荷。
- [ok] 与 gsap-scrolltrigger 的插件归属是否打架 — 本文首段声明「ScrollTrigger has its own skill (gsap-scrolltrigger)」,未重复其内容;ScrollSmoother 在此、ScrollTrigger 本体在彼,分工一致。
- [ok] 元数据与 pin — frontmatter license MIT;HEAD = aed9cfd3277740755f6bfc1155c7aa645403b760;GitHub API stars 15326 / pushed_at 2026-07-29T17:36:08Z。
6结论
188abaf4c67c55db…aed9cfd327