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

在SvelteKit中无法导入barba.js的问题求助

SvelteKit中Barba.js导入引发TypeError的解决方法

问题代码(+layout.svelte)

<script>
  import "../app.css";
  import barba from "@barba/core";
  barba.init();
</script>

<svelte:body data-barba="wrapper" />

<section
  class="bg-black  text-white"
  data-barba="container"
  data-barba-namespace="home"
>
  <slot />
</section>

报错信息

TypeError: Cannot read properties of undefined (reading 'default')
    at +layout.svelte:4:2

错误原因

  1. 导入方式错误:@barba/core未提供默认导出,直接使用import barba from "@barba/core"会导致无法读取default属性,触发报错。
  2. SSR环境冲突:在SvelteKit的服务器端渲染(SSR)阶段直接调用barba.init(),会因缺少浏览器环境API引发额外问题。

解决方案

修改代码如下,调整导入方式并将Barba初始化逻辑放在客户端专属执行钩子中:

<script>
  import "../app.css";
  import { onMount } from 'svelte';
  import * as barba from "@barba/core";

  // 确保仅在客户端浏览器环境中初始化Barba
  onMount(() => {
    barba.init();
  });
</script>

<svelte:body data-barba="wrapper" />

<section
  class="bg-black  text-white"
  data-barba="container"
  data-barba-namespace="home"
>
  <slot />
</section>

额外检查:确保已正确安装@barba/core依赖,若未安装可执行以下命令:

npm install @barba/core
# 或使用pnpm
pnpm add @barba/core

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:53:25