Vite项目构建报错:@wagmi/core包缺少./connectors/injected说明符
解决Vite项目构建时@wagmi/core缺少"./connectors/injected"说明符的问题
问题描述
构建Vite项目时触发如下错误:
[vite-plugin-pwa:build] @wagmi/core 包中缺少 "./connectors/injected" 说明符 构建期间出错: Error: @wagmi/core 包中缺少 "./connectors/injected" 说明符 at e (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:25) at n (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:627) at o (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:1297) at resolveExportsOrImports (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:28712:20) at resolveDeepImport (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:28731:31) at tryNodeResolve (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:28419:20) at Object.resolveId (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/dist/node/chunks/dep-df561101.js:28180:28) at file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:25544:40 at async PluginDriver.hookFirstAndGetPlugin (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:25444:28) at async resolveId (file:///C:/Users/pierr/Desktop/stratus/Amelie/brand-app/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:24117:26)
已尝试的排查步骤:
- 验证package.json中@wagmi/core的版本
- 执行
npm update @wagmi/core更新依赖 - 检查代码导入路径:
import { InjectedConnector } from '@wagmi/core/connectors/injected'; - 确认
node_modules/@wagmi/core/connectors目录下存在目标模块 - 删除node_modules和package-lock.json后重新执行
npm install
解决方案
方案1:适配@wagmi/core v2+的导入规则
@wagmi/core从v2版本开始调整了导出结构,不再支持@wagmi/core/connectors/injected这类深层导入,需要修改导入方式:
// 替换旧导入代码 import { InjectedConnector } from '@wagmi/core';
或通过连接器统一入口导入:
import { InjectedConnector } from '@wagmi/core/connectors';
方案2:配置Vite依赖预构建规则
若确认导入路径正确但仍报错,可在vite.config.js中添加优化配置,强制Vite正确解析@wagmi/core的导出:
import { defineConfig } from 'vite'; export default defineConfig({ optimizeDeps: { include: ['@wagmi/core'], esbuildOptions: { resolveExtensions: ['.js', '.jsx', '.ts', '.tsx'], }, }, resolve: { alias: { '@wagmi/core': '@wagmi/core/dist/index.js', }, }, });
方案3:降级到@wagmi/core v1.x版本
如果暂时无法适配v2的新规则,可降级到v1版本保持原有导入逻辑:
npm install @wagmi/core@1.x
降级后无需修改导入代码,即可正常使用原路径。
内容的提问来源于stack exchange,提问作者Pierre Nadal
相关产品推荐
相关产品推荐

