NodeJS 嘿,我得到这个错误,而使用粉笔在NPM模块

dgsult0t  于 2023-01-16  发布在  Node.js
关注(0)|答案(1)|浏览(169)
const chalk = require("chalk");
              ^

Error [ERR_REQUIRE_ESM]: require() of ES Module P:\Back End Development\NPM_modules\node_modules\chalk\source\index.js from P:\Back End Development\NPM_modules\index.js not supported.
Instead change the require of P:\Back End Development\NPM_modules\node_modules\chalk\source\index.js in P:\Back End Development\NPM_modules\index.js to a dynamic import() which is available in all CommonJS modules.
    at Object. (P:\Back End Development\NPM_modules\index.js:1:15) {
  code: 'ERR_REQUIRE_ESM'
}

我期待一个蓝色代码“Hello world”

vlju58qv

vlju58qv1#

如错误所示,chalk包不能包含在具有require()方法的CommonJS文件中,因为它是ES模块
要导入ES模块,需要通过添加以下内容来更改package.json文件:

"type": "module"

之后,您需要使用import语句导入所有的包,如下例所示:

import chalk from 'chalk';

如果出于某种原因,您不想更改package.json,或者必须使用CommonJS导入包,则可以使用以下方法导入chalk:

var chalk;
(async function () {
    chalk = await import("chalk");
})();

但是你需要确保粉笔包在完全进口之前不会被使用。

相关问题