首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Node 13中导入Inquirer作为模块

在Node 13中导入Inquirer作为模块
EN

Stack Overflow用户
提问于 2020-04-09 16:47:29
回答 3查看 1.6K关注 0票数 2

我在使用问话人中的模块导入Node 13.12.0时遇到问题。任何其他import都工作得很好。只要我一直在与Node 12.x一起使用require(),它就能很好地工作。

我的anything.mjs用例

代码语言:javascript
复制
import fs from "fs"; // works well
import inquirer from 'inquirer'; // undefined

所以我尝试只导入一个导出的模块

代码语言:javascript
复制
import {prompt} from 'inquirer'; // The requested module 'inquirer' does not provide an export named 'prompt'

也曾尝试过:

代码语言:javascript
复制
import * as inquirer from 'inquirer'; // [Module] { default: undefined }

我也尝试过require(),但它不再在模块中定义。

如何使用InquirerNode 13.12.0中正确导入modules

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-09 16:57:57

根据文档,您可以在节点13的ESM中使用require,如下所示:

代码语言:javascript
复制
import { createRequire } from 'module';
const require = createRequire(import.meta.url);

const inquirer = require('inquirer');
票数 2
EN

Stack Overflow用户

发布于 2022-06-20 06:52:13

inquirer刚刚发布了v9.0并迁移到ESM模块。因此,现在这将简单地起作用:

代码语言:javascript
复制
import inquirer from 'inquirer';

const response = await inquirer.prompt([
  {
    type: 'input',
    name: 'question',
    message: 'Want to answer?'
  }
]);

console.log(response.question);
票数 1
EN

Stack Overflow用户

发布于 2022-01-02 18:24:54

使用ES模块和查询器2.3.6我是这样使用它。我们可以将类型传递给提示对象。

代码语言:javascript
复制
import enquirer from 'enquirer';

const enquirerObj =  new enquirer();

const response = await enquirerObj.prompt({
    type:'confirm',
    name: 'question',
    message: 'Want to answer?'
  });

 console.log(response);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61126142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档