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

Vue项目集成ffmpeg.wasm与Vuetify时构建报错求助

解决方案:Vue 2 + Vuetify 2 适配 @ffmpeg 0.11.x 构建问题

1. 配置 Webpack 转译 @ffmpeg 依赖

Vue 2 项目默认 babel-loader 不转译 node_modules 内的包,而 @ffmpeg 0.11.x 可能使用了未转译的 ES6+ 语法,导致构建报错。在 vue.config.js 中添加转译规则:

module.exports = {
  // 保留原有配置...
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.m?js$/,
          include: [
            /node_modules\/@ffmpeg/,
            /node_modules\/@babel\/runtime/
          ],
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env']
            }
          }
        }
      ]
    }
  }
}

2. 清理依赖缓存并修复依赖冲突

执行以下命令彻底重置依赖:

rm -rf node_modules package-lock.json
npm cache clean --force
npm install

若项目缺少必要的 Babel 依赖,补充安装:

npm install @babel/preset-env babel-loader --save-dev

3. 适配 FFmpeg 核心资源打包规则

如果构建后出现 WASM/核心文件加载失败,在 vue.config.js 中添加资源处理规则:

module.exports = {
  // 保留原有配置...
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  chainWebpack: config => {
    config.module
      .rule('wasm')
      .test(/\.wasm$/)
      .type('javascript/auto')
      .use('file-loader')
      .loader('file-loader')
      .options({
        name: '[name].[hash:8].[ext]',
        outputPath: 'assets/ffmpeg/'
      })
  }
}

4. 调整 FFmpeg 初始化代码适配新版本

确保初始化时指定正确的核心文件路径:

import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg'

const ffmpeg = createFFmpeg({
  log: true,
  corePath: process.env.NODE_ENV === 'production' 
    ? './assets/ffmpeg/ffmpeg-core.js' 
    : 'https://unpkg.com/@ffmpeg/core@0.11.5/dist/ffmpeg-core.js'
})

5. 确保 Vuetify 打包配置正常

若存在样式或插件冲突,在 vue.config.js 中明确 Vuetify 插件配置:

const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')

module.exports = {
  // 保留原有配置...
  configureWebpack: {
    plugins: [
      new VuetifyLoaderPlugin()
    ]
  }
}

完成以上配置后,重新执行 npm run build 即可完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:10:25