You need to enable JavaScript to run this app. Typescript中如何正确从enquirer导入AutoComplete?
优惠活动
大模型
产品
解决方案
定价
更多

Typescript中如何正确从enquirer导入AutoComplete?

解决方案

出现该报错的原因是enquirer的TypeScript类型定义未将AutoComplete作为独立的命名导出暴露,该组件是挂载在默认导出对象上的属性,你可以用以下两种方式正确导入:

方式一:从默认导出解构

如果你的tsconfig.json中开启了esModuleInterop: true,直接使用默认导入后解构即可:

import enquirer from 'enquirer';
const { AutoComplete } = enquirer;

如果未开启esModuleInterop,改为用命名空间导入的写法:

import * as enquirer from 'enquirer';
const { AutoComplete } = enquirer;

方式二:直接导入对应文件

如果用上面的方式还是出现类型报错,可以直接导入AutoComplete对应的源码文件:

import AutoComplete from 'enquirer/lib/prompts/autocomplete';

导入后即可正常使用,示例代码如下:

const run = async () => {
  const prompt = new AutoComplete({
    name: 'result',
    message: '请选择选项',
    choices: ['选项1', '选项2', '选项3', '选项4']
  });

  const answer = await prompt.run();
  console.log('你选择了:', answer);
};

run();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 01:15:02