2

我在使用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()但它不再在模块中定义。


我应该如何正确导入Inquirerusing ?Node 13.12.0modules

4

2 回答 2

2

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

import { createRequire } from 'module';
const require = createRequire(import.meta.url);

const inquirer = require('inquirer');
于 2020-04-09T16:57:57.153 回答
0

使用 ES Modules 和 enquirer 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);
于 2022-01-02T18:24:54.803 回答