Vite未复制动态加载的@swc/wasm-web依赖文件,如何强制处理?
解决Vite未复制@swc/wasm-web到deps目录的问题
显式导入Wasm资源
@swc/wasm-web内部依赖的Wasm文件可能没被Vite自动追踪到,你可以先手动导入Wasm文件,再加载核心模块:// 先加载对应的Wasm文件 await import('@swc/wasm-web/wasm'); // 再加载@swc/wasm-web核心模块 const swcWasmWeb = await import('@swc/wasm-web');这样Vite能明确识别到Wasm资源,会将其打包到
../node_modules/.vite/deps目录中。配置optimizeDeps强制预构建
在vite.config.ts中把@swc/wasm-web加入预构建依赖列表,强制Vite处理该模块的所有关联资源:import { defineConfig } from 'vite'; export default defineConfig({ optimizeDeps: { include: ['@swc/wasm-web'] } });预构建阶段Vite会自动解析模块依赖,把所需的Wasm文件复制到指定目录。
修正assetsInclude配置
如果之前的assetsInclude没生效,检查是否配置了正确的匹配规则,确保Vite将Wasm文件视为静态资源:import { defineConfig } from 'vite'; export default defineConfig({ assetsInclude: ['**/*.wasm'] });这个配置可以配合前两种方法使用,确保Wasm资源被正确处理。
内容的提问来源于stack exchange,提问作者ahorak
相关产品推荐
相关产品推荐

