Hola, traté de instalar tiza en mi aplicación muy simple y luego recibí un error:
Error [ERR_REQUIRE_ESM]: require() of ES Module my-file-is-here and chalk\node_modules\chalk\source\index.js from my-file-is-here not supported. Instead change the require of index.js in my-file-is-here to a dynamic import() which is available in all CommonJS modules. at Object.<anonymous> (`my-file-is-here`) { code: 'ERR_REQUIRE_ESM' }ese es mi codigo:
const os = require("os") const chalk = require("chalk") console.log("app running")Creo que es un módulo ES y funciona de forma import , pero puedes hacer algo como esto:
const { chalk } = require("chalk");Funcionó para mí cuando trabajé con firebase en estilo v8.
//Primer cambio en tu paquete.json
"main": "app.js", "type": "module",//use this line//Segundo cambio en App.js
import os from 'os' // const os = require("os") import chalk from 'chalk';//const chalk = require("chalk")Chalk 5 ha cambiado a ESM. Proporcionan un enlace para comprender mejor lo que eso significa: ESM puro .
De tiza LÉAME:
IMPORTANTE: La tiza 5 es ESM. Si desea usar Chalk con TypeScript o una herramienta de compilación, probablemente querrá usar Chalk 4 por ahora.
A partir de esta respuesta, la última versión de chalk 4 es 4.1.2 .
Eso tiene algo que ver con la versión que está usando, que creo que es 5.0.0
npm uninstall chalkentonces
npm i chalk@2.4.1ahora puedes ejecutar tu código
const chalk = require('chalk'); console.log(chalk.blue('Hello world!'));Agregue "tipo": "módulo" a su paquete.json. Reemplace "main": "index.js" con "exportaciones": "./index.js" en su paquete.json. Actualice el campo "motores" en package.json a Node.js 12: "node": "^12.20.0 || ^14.13.1 || >=16.0.0". Eliminar 'uso estricto'; de todos los archivos JavaScript. Reemplace todo require()/module.export con import/export. Use solo rutas de archivo relativas completas para las importaciones: import x from '.'; → importar x desde './index.js';. Si tiene una definición de tipo TypeScript (por ejemplo, index.d.ts), actualícela para usar las importaciones/exportaciones de ESM. Opcional pero recomendado, use el nodo: protocolo para importaciones.
Paso 1 npm desinstalar tiza (eliminar todos los archivos de tiza)
Paso 2 npm instalar chalk@4.1.0
const chalk = require("chalk"); console.log(chalkl.green("Hello"));Listo🙌🏻