我在使用问话人中的模块导入Node 13.12.0时遇到问题。任何其他import都工作得很好。只要我一直在与Node 12.x一起使用require(),它就能很好地工作。
我的anything.mjs用例
import fs from "fs"; // works well
import inquirer from 'inquirer'; // undefined所以我尝试只导入一个导出的模块
import {prompt} from 'inquirer'; // The requested module 'inquirer' does not provide an export named 'prompt'也曾尝试过:
import * as inquirer from 'inquirer'; // [Module] { default: undefined }我也尝试过require(),但它不再在模块中定义。
如何使用Inquirer在Node 13.12.0中正确导入modules
发布于 2020-04-09 16:57:57
根据文档,您可以在节点13的ESM中使用require,如下所示:
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const inquirer = require('inquirer');发布于 2022-06-20 06:52:13
inquirer刚刚发布了v9.0并迁移到ESM模块。因此,现在这将简单地起作用:
import inquirer from 'inquirer';
const response = await inquirer.prompt([
{
type: 'input',
name: 'question',
message: 'Want to answer?'
}
]);
console.log(response.question);发布于 2022-01-02 18:24:54
使用ES模块和查询器2.3.6我是这样使用它。我们可以将类型传递给提示对象。
import enquirer from 'enquirer';
const enquirerObj = new enquirer();
const response = await enquirerObj.prompt({
type:'confirm',
name: 'question',
message: 'Want to answer?'
});
console.log(response);https://stackoverflow.com/questions/61126142
复制相似问题