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

FoodApp API用Faker生成种子数据时import/require混用报错

FoodApp后端API模块规范冲突报错问题

问题场景

  • 开发FoodApp后端API时,计划使用@faker-js/faker npm包生成模拟测试数据填充数据库,用于验证接口筛选功能
  • 项目原有所有依赖均采用CommonJS规范的require()语法引入,但@faker-js/faker为纯ESM包,必须使用ES模块的import语法引入,尝试过网上公开的多种兼容方案均未生效

已完成配置

  • 在server.js顶部引入module模块的createRequire方法创建require函数
  • 在package.json中添加"type": "module"声明
  • 初步怀疑问题与路由文件配置有关,但无法定位根本原因

当前报错信息

启动服务时触发ERR_REQUIRE_ESM错误,核心提示:

因package.json配置了"type": "module",项目目录下所有.js文件会被识别为ES模块,server.js中无法通过require()引入同为ES模块格式的routes/subscribers.js路由文件,错误信息中给出了三种官方建议的修复方向。

排查参考材料

问题定位可参考以下附带材料:

  • 完整错误堆栈
  • server.js顶部添加的兼容代码
  • 完整package.json配置
  • server.js入口文件代码
  • restaurants.js路由文件代码
  • subscribers.js路由文件代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:51:24