Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код с mineflayer. JS

Дмитрий Светлов Ученик (235), открыт 3 недели назад
Ошибка такова

const autoeat = require('mineflayer-auto-eat')
^

Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\fikso\Desktop\Bots\node_modules\mineflayer-auto-eat\dist\index.js from C:\Users\fikso\Desktop\Bots\main.js not supported.
Instead change the require of index.js in C:\Users\fikso\Desktop\Bots\main.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (C:\Users\fikso\Desktop\Bots\main.js:6:17) {
code: 'ERR_REQUIRE_ESM'
}

Node.js v18.18.1

В фале package.json надо бы вписать вместо require

import autoeat from 'mineflayer-auto-eat' но строчки таковой вообще нет
2 ответа
Sergio 2.1 Оракул (67204) 3 недели назад
Ошибка возникает из-за того, что модуль mineflayer-auto-eat является ES модулем, а вы пытаетесь его импортировать через CommonJS.

1) Переименуйте ваш файл main.js в main.mjs
2) В package.json добавьте:
 { 
"type": "module"
}
3) Измените require на import:
 import autoeat from 'mineflayer-auto-eat'; 
Дмитрий СветловЗнаток (306) 3 недели назад
Сможешь подсказать?
Дмитрий Светлов Знаток (306) 3 недели назад
В каком файле нужно require заменить? Просто в файле package.json нет строчки что бы заменить на импорт. Я не сильно шарю в этой теме.
ПавелПросветленный (25615) 3 недели назад
Тебе никто не написал, потому что это и так очевидно и можно понять прочитав код ошибки. Самому иногда тоже подумать надо. И так уже на блюдичке все приподнесли.
Перечитай собственный вопрос!
Похожие вопросы