使用Node.js chalk模块时出现ERR_REQUIRE_ESM错误求助
解决Chalk模块的ERR_REQUIRE_ESM错误
这个错误是因为Chalk从v4版本开始完全切换为ES模块(ESM),而你的代码用的是CommonJS的require()语法导入,两者不兼容导致的。以下是三种解决办法:
- 改用动态import():CommonJS模块支持动态import语法,修改代码如下:
async function init() { const chalk = await import('chalk'); // 注意要访问default属性获取导出的模块内容 console.log(chalk.default.green('成功加载Chalk!')); } init();
- 将你的代码转为ESM格式:在项目根目录的
package.json中添加"type": "module",之后就可以用ESM的import语法导入Chalk:
import chalk from 'chalk'; console.log(chalk.blue('Hello World!'));
- 降级到Chalk v3版本:如果不想修改代码结构,可以安装仍支持CommonJS的旧版本:
npm install chalk@3 --save
安装完成后就能继续用const chalk = require('chalk');的写法。
内容的提问来源于stack exchange,提问作者Bhaskar Jyoti Dutta
相关产品推荐
相关产品推荐

