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

React集成face-api.js实现人脸检测时遇Source Map加载错误

解决React.js中face-api.js的Source Map解析错误

可行解决方案

1. 直接禁用Source Map生成

用Create React App搭建的项目,修改package.json的启动脚本:

"scripts": {
  "start": "GENERATE_SOURCEMAP=false react-scripts start"
}

或者在项目根目录新建.env文件,写入:

GENERATE_SOURCEMAP=false

这样开发环境就不会生成和解析source map,直接跳过该错误。

2. 修正face-api.js的导入方式

不要导入TS源文件,直接使用npm包编译好的JS版本:

import * as faceapi from 'face-api.js';

加载模型时,将模型文件放在public/models目录下,用相对路径加载:

await faceapi.loadSsdMobilenetv1Model('/models');

3. 重置依赖环境

删除node_modules和锁文件后重新安装依赖:

rm -rf node_modules package-lock.json
npm install

依赖缓存可能导致奇怪的文件引用问题,重置后大概率能解决。

4. 切换到稳定兼容版本

face-api.js部分新版本可能和React开发工具不兼容,试试回退到0.22.2版本:

npm uninstall face-api.js
npm install face-api.js@0.22.2

5. 自定义webpack忽略face-api的source map(非CRA项目)

如果是自行配置webpack的项目,在webpack.config.js中添加规则,跳过face-api.js的source map解析:

module.exports = {
  devtool: 'eval-cheap-module-source-map',
  module: {
    rules: [
      {
        test: /\.js$/,
        enforce: 'pre',
        use: ['source-map-loader'],
        exclude: [/node_modules\/face-api.js/]
      }
    ]
  }
};

本质上这个错误是因为face-api.js的npm包未附带完整的TS源文件对应的source map,开发工具找不到源文件才报错,上述方法均可绕开该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:22:11