使用NPM模块chalk时遇ERR_REQUIRE_ESM错误,期望输出蓝色‘Hello world’
解决Chalk模块ERR_REQUIRE_ESM错误并输出蓝色Hello World
这个错误是因为Chalk从v4版本开始改为纯ES模块(ESM),不再支持CommonJS的require()导入方式,以下是三种可行的解决办法:
方法1:使用动态import()(无需修改项目模块类型)
在CommonJS模块中可以用动态import加载ESM模块,代码示例:
async function run() { const chalk = await import('chalk'); console.log(chalk.default.blue('Hello world')); } run();
方法2:降级到支持CommonJS的Chalk版本
安装Chalk v3.x版本(该版本仍为CommonJS模块),执行命令:
npm install chalk@3
之后可正常用require()导入:
const chalk = require('chalk'); console.log(chalk.blue('Hello world'));
方法3:将项目转为ES模块
在项目的package.json中添加"type": "module"字段:
{ "type": "module" }
然后用ESM的import语法导入Chalk:
import chalk from 'chalk'; console.log(chalk.blue('Hello world'));
内容的提问来源于stack exchange,提问作者Rahul B
相关产品推荐
相关产品推荐

