关于 vantajs
vantajs 是用于网页设计的技能,指导在容器中添加 Vanta.js 动态 WebGL 背景,并管理效果更新、尺寸调整与清理。适合需要装饰性背景的静态网站和 React、Vue 项目。
主要功能
- 01初始化 Vanta.js 效果
- 02更新效果选项
- 03调整画布尺寸
- 04销毁效果实例
- 05提示移动设备与性能注意事项
适用场景
- 01为首页 Hero 区域添加动态背景
- 02在 React 组件卸载时清理效果
- 03为移动设备设计背景回退方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mengto/ skills --skill vantajs安装后在 Claude Code 中输入/vantajs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
REFERENCES.mddemo/index.htmlPROMPT.md详细介绍
Vanta.js — 动画 WebGL 背景技能
适用场景
- 为主视觉区域添加装饰性动画背景
- 希望快速实现“惊艳”效果,而无需构建完整的 three.js 场景
- 轻量集成到静态网站或 React/Vue 中
工作原理
- Vanta 会在容器元素中注入一个画布并渲染效果(许多效果会用到 three.js)。
- 典型用法:引入
three.min.js(或提供 THREE)和一个 Vanta 效果包。
主要 API/模式
- 初始化:
const effect = VANTA.WAVES({ el: "#hero", ...options })
- 初始化后更新:
effect.setOptions({ color: 0xff88cc })
- 调整大小:
effect.resize()(如果容器尺寸发生变化)
- 清理:
effect.destroy()(在 SPA 中很重要)
常见问题
- 容器没有尺寸 → 不会显示任何内容
- 确保目标元素有明确的宽度/高度(或已正确布局)。
- 单个页面上有多个 WebGL 画布 → 增加 GPU 负载
- 每页最多保留 1–2 个效果。
- 移动设备/较旧的 GPU 问题
- 提供备用背景色/图片;考虑在小屏幕上禁用效果。
- 在框架中打包
- 某些构建需要
window.THREE,或在选项中传入THREE。
- 某些构建需要
快速示例
1)最简 Waves 背景
<div id="hero" style="height: 70vh;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta/dist/vanta.waves.min.js"></script>
<script>
const effect = VANTA.WAVES({ el: "#hero", color: 0x0b1220, shininess: 40, waveHeight: 16, zoom: 0.9 });
</script>
2)React 清理模式(概念)
- 在
useEffect中创建效果,将其存储在 ref 中,并在组件卸载时调用destroy()。
需要向用户确认的问题
- 想要哪种效果(waves、birds、fog、net 等)以及哪些品牌颜色?
- 是否必须支持移动设备?如果是,可接受的 FPS/画质是多少?
- 背景是否位于文字后方(是否需要确保对比度/可读性)?
评论
支持 Markdown