在使用
commander和inquirer的时候,发现最新版本的inquirer不支持require的方式,而commander还是require方式导入,导致在一个js文件中需要同时使用esm和cjs两种导入方式
node支持esm
node v14版本之后,支持在package.json中定义 "type": "module", 即可使用import导入。
同时支持两种模式
设置type为module时,之前的require写法无法支持,需要使用createRequire解决
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const program = require("commander");
import inquirer from "inquirer";

