您好,我希望能得到您的帮助,我正在尝试重新创建 WhatsApp 机器人应用程序,但收到此错误,我不知道如何继续或解决。
const fs = require('fs')
const ora = require('ora')
const chalk = require('chalk')
const { Client } = require('whatsapp-web.js')
const qrcode = require('qrcode-terminal')
const SESSION_FILE_PATH = './session.json'
let client;
let sessionData;
const withSession = () => {
//si existe se carga el archivo con las credenciales
const spinner = ora(`Cargando ${chalk.yellow('Validando Session con Whatsapp...')}`);
sessionData = require(SESSION_FILE_PATH);
spinner.start();
client = new Client({
session:sessionData
})
client.on('ready',() => {
console.log('Cliente esta corriendo!')
spinner.stop();
})
}
//Esta funcion genera el qrcode
const withOutSession = () => {
console.log('No Tenemos session guardada');
client = new Client();
client.on('qr', qr => {
qrcode.generate(qr, { small: true });
});
client.on('authenticated', (session) => {
//guardar credenciales de session para usar luego
sessionData = session;
fs.writeFile(SESSION_FILE_PATH, JSON.stringify(session), (err) => {
if (err) {
console.log(err);
}
});
});
client.initialize();
}
//
(fs.existsSync(SESSION_FILE_PATH)) ? withSession() : withOutSession();
Run Code Online (Sandbox Code Playgroud)
出现的错误如下:
PS D:\Codigos python\whatsappbot-node> 节点 app.js D:\Codigos python\whatsappbot-node\app.js:2 const ora = require('ora') ^
错误 [ERR_REQUIRE_ESM]:不支持来自 D:\Codigos python\whatsappbot-node\app.js 的 ES 模块 D:\Codigos python\whatsappbot-node\node_modules\ora\index.js 的 require()。相反,将 D:\Codigos python\whatsappbot-node\app.js 中的 index.js 的 require 更改为动态 import() ,该动态 import() 在所有 CommonJS 模块中都可用。在对象。(D:\Codigos python\whatsappbot-node\app.js:2:13) { 代码: 'ERR_REQUIRE_ESM' }
出现此错误的原因是ora 现在是纯 ESM 模块,不再支持 CommonJS。
解决此问题的一种方法是将您的项目转换为 ESM。然而,由于某些原因您可能不想这样做,这是完全公平的。
在这些情况下,我们只能使用支持 CommonJS 的最新版本,即:
npm install ora@5.4.1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |