build: Vite 单文件构建 + 修复 doubaoime-asr 打包后 WASM 加载失败

- vite.config.ts: codeSplitting: false 替代多 chunk 输出,产出单文件 dist/cli.js
- vite.config.ts: ssr.external 排除 doubaoime-asr/opus-encdec,避免 require.resolve 路径失效
- scripts/post-build.ts: 简化为直接处理单文件 dist/cli.js
- src/services/doubaoSTT.ts: 改进错误信息,输出具体异常内容便于排查

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
claude-code-best
2026-05-03 16:08:14 +08:00
parent 6becb8b2d4
commit d3eebfed15
3 changed files with 20 additions and 14 deletions

View File

@@ -70,6 +70,11 @@ export default defineConfig({
ssr: {
target: 'node',
noExternal: true,
// Packages with runtime require.resolve() or WASM binaries can't be
// inlined into the bundle — they must be resolved from node_modules
// at runtime. doubaoime-asr uses opus-encdec which does
// require.resolve('opus-encdec/dist/libopus-encoder.wasm.js').
external: ['doubaoime-asr', 'opus-encdec'],
},
build: {
@@ -88,9 +93,9 @@ export default defineConfig({
output: {
format: 'es',
dir: 'dist',
// Single-file build: no code splitting, all dynamic imports inlined
codeSplitting: false,
entryFileNames: 'cli.js',
chunkFileNames: 'chunks/[name]-[hash].js',
},
plugins: [