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

SvelteKit构建报错:rollup-plugin-dynamic-import-variables解析自定义文件失败

问题根因

你当前的配置不生效,是因为手动新增的rollup-plugin-dynamic-import-variables实例不会覆盖SvelteKit内置的同插件实例,两个实例同时运行时,内置实例仍会正常扫描你的自定义文件抛出错误。

解决方案

你可以根据需求选择以下任意一种方案:

方案1:彻底禁用该插件(适合完全不用动态导入的场景)

直接过滤掉SvelteKit内置的该插件即可,完整配置如下:

// @type {import('@sveltejs/kit').Config}
import adapter from '@sveltejs/adapter-static';

const config = {
  kit: {
    target: '#svelte',
    adapter: adapter({
      pages: 'build',
      assets: 'build',
      fallback: null
    }),
    vite: {
      plugins: (defaultPlugins) => {
        return defaultPlugins.filter(plugin => 
          plugin.name !== 'rollup-plugin-dynamic-import-variables'
        )
      }
    }
  }
};

export default config;

方案2:仅排除自定义文件(保留插件功能)

如果后续可能用到动态导入,只需要给内置插件添加你的自定义文件后缀到排除规则即可,假设你的自定义文件后缀为.custom,配置如下:

// @type {import('@sveltejs/kit').Config}
import adapter from '@sveltejs/adapter-static';

const config = {
  kit: {
    target: '#svelte',
    adapter: adapter({
      pages: 'build',
      assets: 'build',
      fallback: null
    }),
    vite: {
      plugins: (defaultPlugins) => {
        return defaultPlugins.map(plugin => {
          if (plugin.name === 'rollup-plugin-dynamic-import-variables') {
            // 替换为你实际的自定义文件后缀匹配规则
            plugin.exclude = [...(plugin.exclude || []), '**/*.custom']
          }
          return plugin
        })
      }
    }
  }
};

export default config;

如果不确定插件名称,可以在filter/map遍历过程中打印所有plugin.name确认即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:45:03