You need to enable JavaScript to run this app. Node.js集成AWS Transcribe提示transcribeClient未导出报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Node.js集成AWS Transcribe提示transcribeClient未导出报错如何解决

问题原因与解决方案

核心错误原因

  1. 模块规范不统一:报错The requested module './libs/transcribeClient.js' does not provide an export named 'transcribeClient'以及require未定义,说明你的项目启用了ES Module(ESM)规范(即package.json中存在"type": "module"配置),但你写的transcribeClient.js用的是CommonJS的require导入、module.exports导出语法,两种模块规范混用导致导出/导入失败。
  2. SDK实例化参数错误:AWS SDK v3的客户端配置参数不支持AWS_REGION、AWS_ACCESS_KEY、AWS_SECRET_KEY这种自定义命名的参数,你传的参数不会被SDK识别,之前Polly能正常运行是因为SDK自动读取了环境中的默认凭证(如本地.aws目录下的凭证文件、系统环境变量、云服务角色授权等),并非你的参数配置正确。

修复步骤

步骤1:统一模块规范

根据你的项目配置二选一即可:

方案A:项目使用ESM规范(package.json有"type": "module")

将transcribeClient.js的代码替换为ESM语法:

const AWS_BUCKET_NAME="X"
const AWS_REGION="eu-central-1"
const AWS_ACCESS_KEY="XXX"
const AWS_SECRET_KEY="XXX"

import { TranscribeClient } from '@aws-sdk/client-transcribe';
const transcribeClient = new TranscribeClient({ 
  region: AWS_REGION,
  credentials: {
    accessKeyId: AWS_ACCESS_KEY,
    secretAccessKey: AWS_SECRET_KEY
  }
});
export { transcribeClient };

导入时使用import { transcribeClient } from './libs/transcribeClient.js'即可。

方案B:项目使用CommonJS规范(package.json无"type": "module")

检查你调用转写任务的代码,将导入transcribeClient的语法改为CommonJS写法:

const { transcribeClient } = require('./libs/transcribeClient.js');

步骤2:修正所有AWS客户端的实例化参数

建议同时把Polly的实例化参数也修正为符合SDK要求的格式,避免后续环境变动时Polly也出现权限错误:

// 修正后的Polly客户端初始化
const pollyClient = new PollyClient({ 
  region: AWS_REGION,
  credentials: {
    accessKeyId: AWS_ACCESS_KEY,
    secretAccessKey: AWS_SECRET_KEY
  }
});

步骤3:确认依赖安装

运行以下命令确认Transcribe SDK已正确安装:
npm install @aws-sdk/client-transcribe

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 05:54:03