You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Astro中集成Spline动画?无需React,遇组件导入问题

在Astro中集成Spline Vanilla JS动画的步骤

直接按以下步骤操作即可完成集成,无需依赖React:

  1. 安装Spline运行时依赖
    在项目根目录执行命令安装所需包:

    npm install @splinetool/runtime
    # 或使用yarn/pnpm
    # yarn add @splinetool/runtime
    # pnpm add @splinetool/runtime
    
  2. 编写Astro组件代码
    在你的Astro组件中添加以下内容,核心是确保脚本在客户端执行(避免服务端渲染时找不到DOM元素):

    ---
    # 这里可以写组件的服务端逻辑(如果需要)
    ---
    <!-- 用于渲染Spline动画的Canvas元素 -->
    <canvas id="canvas3d" style="width: 100%; height: 600px; border: none;"></canvas>
    
    <!-- 客户端脚本:必须加client:load确保在浏览器中执行,type="module"支持ES模块导入 -->
    <script type="module" client:load>
      import { Application } from '@splinetool/runtime';
      // 获取Canvas元素
      const canvas = document.getElementById('canvas3d');
      // 初始化Spline应用并加载动画
      const app = new Application(canvas);
      app.load('https://prod.spline.design/animation-id/scene.splinecode');
    </script>
    
  3. 关键注意事项

    • 必须给<script>标签加上client:load(或client:visible等客户端指令):Astro默认服务端渲染,没有document对象,只有客户端脚本才能操作DOM。
    • 记得给Canvas设置合适的宽高样式,否则动画可能显示异常。
    • 替换app.load()中的URL为你自己的Spline动画链接。

内容的提问来源于stack exchange,提问作者omkobass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:32:03