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

React项目中@mediapipe/face_mesh生产环境报错:FaceMesh is not a constructor

解决React生产环境中FaceMesh is not a constructor错误

这个问题通常是因为生产环境打包工具(如Webpack/Vite)对@mediapipe/face_mesh的模块导出处理和开发环境不一致导致的,以下是几种可行的解决方法:

1. 调整导入方式

尝试直接解构导入FaceMesh,替代导入整个模块的写法:

import { FaceMesh } from "@mediapipe/face_mesh";

// 在useEffect中直接初始化
const faceMesh = new FaceMesh({
  locateFile: (file) => {
    return `https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh/${file}`;
  },
});

2. 使用正确的动态导入方式

如果静态导入仍有问题,在useEffect内异步动态导入,确保模块完全加载后再初始化实例:

useEffect(() => {
  const initFaceMesh = async () => {
    // 动态导入FaceMesh
    const { FaceMesh } = await import("@mediapipe/face_mesh");
    const faceMesh = new FaceMesh({
      locateFile: (file) => `https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh/${file}`,
    });

    faceMesh.setOptions({
      minDetectionConfidence: 0.5,
      minTrackingConfidence: 0.5,
      runningMode: "video",
      refineLandmarks: true,
    });

    faceMesh.onResults(onResults);

    if (webcamRef.current) {
      camera = new cam.Camera(webcamRef.current.video, {
        onFrame: async () => {
          await faceMesh.send({ image: webcamRef.current.video });
        },
        width: 640,
        height: 360,
      });
      camera.start();
    }
  };

  initFaceMesh();
}, []);

3. 配置打包工具排除预构建

如果使用Vite,在vite.config.js中配置optimizeDeps排除该库,避免预构建时的模块处理异常:

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  optimizeDeps: {
    exclude: ['@mediapipe/face_mesh'],
  },
});

如果使用Webpack,添加对该库的特殊处理规则:

module.exports = {
  module: {
    rules: [
      {
        test: /@mediapipe\/face_mesh/,
        type: 'javascript/auto',
      },
    ],
  },
};

4. 指定CDN版本号

避免CDN路径的版本歧义,指定具体的@mediapipe/face_mesh版本号,确保生产环境加载的资源和开发环境一致:

locateFile: (file) => {
  // 替换为你项目中使用的具体版本号
  return `https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4.1633559619/${file}`;
},

内容的提问来源于stack exchange,提问作者RAUSHAN KUMAR THAKUR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:55:07