Node.js 上的查询者

Jul*_*lia 3 javascript module node.js visual-studio-code inquirer

PS D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input> node index.js
D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input\index.js:1
const inquirer = require('inquirer')
                 ^

Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input\node_modules\inquirer\lib\inquirer.js from D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input\index.js not supported.
Instead change the require of inquirer.js in D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input\index.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (D:\Cursos\nodeudemy\aulas\2_FUNDAMENTOS\10_abstracao_input\index.js:1:18) {
  code: 'ERR_REQUIRE_ESM'
}
Run Code Online (Sandbox Code Playgroud)

每次我尝试使用查询器运行节点文件时都会发生这种情况

Rey*_*yno 22

如果您阅读文档,它会向您解释这个问题,并提供有关如何解决该问题的链接。

Inquirer v9 及更高版本是本机 esm 模块,这意味着您不能再使用 commonjs 语法require('inquirer')。如果您想了解有关在 Node 中使用本机 esm 的更多信息,我建议您阅读以下指南。或者,您可以依赖旧版本,直到准备好升级环境:

npm install --save inquirer@^8.0.0
Run Code Online (Sandbox Code Playgroud)

然后,这将允许使用 commonjs require 导入查询器:

const inquirer = require('inquirer');
Run Code Online (Sandbox Code Playgroud)