오류 [ERR_REQUIR_ESM]: ES 모듈의 require()가 지원되지 않습니다.
나는 누군가가 게임에서 온라인 상태인지 묻는 디스코드 봇을 만들려고 노력하고 있습니다.
하지만 계속해서 이런 메시지가 나타납니다.
[ERR_REQUIR_ESM]: ES 모듈이 지원되지 않도록 해야 합니다.대신...에서 index.js의 요구 사항을 변경합니다.모든 공용에서 사용할 수 있는 동적 가져오기()로JS 모듈.
이게 내 암호입니다.
module.exports = {
name: 'username',
description: "this is the username command",
async execute(message, args) {
const fetch = require('node-fetch');
if (args.length !== 1) {
return message.channel.send("invalid username wtf")
}
const ign = args[0]
if (ign.length > 16 || ign.length < 3) {
return message.channel.send("invalid username wtf")
}
const uuid = await fetch(`https://api.mojang.com/users/profiles/minecraft/${ign}`).then(data => data.json()).then(data => data.id).catch(err => message.channel.send("error wtf"));
const onlineInfo = await fetch(`https://api.hypixel.net/status?key=${john}&uuid=${uuid}`).then(data => data.json());
if (uuid.length !== 32) {
return;
}
if (onlineinfo.success) {
if (onlineinfo.session.online) {
message.channel.send("they are online")
}
else {
message.channel.send("they are offline")
}
}
else {
message.channel.send("hypixel api bad wtf")
}
}
}
이것은 제 소포입니다.json 파일:
{
"name": "discordbot",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node main.js"
},
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"discord.js": "^13.0.1",
"node-fetch": "^3.0.0"
}
}
그node-fetch
최신 버전은 사용하지 않습니다.require()
패키지를 가져올 구문입니다.당신은 당신의 집으로 가야합니다.package.json
활자를
{
"type": "module",
}
사용하다import
구문 및 가져오기node-fetch
, 하지만 그러면 당신은 사용할 수 없습니다.require
다른 소포에 대해서도.당신은 일을 해야 합니다.import
성명서만.
또는 Got 또는 Axios와 같은 다른 패키지를 사용할 수 있습니다. 이 패키지는require()
통사론
난 이해했다.다운그레이드 할 수 밖에 없었어요node-fetch
상위 버전에서는 ESM만 사용하기 때문에 오류가 많이 발생하여 2.6.6으로 변경되었습니다.
node-fetch
v3는 최근에 지원을 중단했습니다.require
ES Modules에 유리하게 수입하는 방법.지금 ESM 가져오기를 사용해야 합니다.
import fetch from "node-fetch";
파일 맨 위에 있습니다.
언급URL : https://stackoverflow.com/questions/69081410/error-err-require-esm-require-of-es-module-not-supported
'programing' 카테고리의 다른 글
선택적 통화 변수로 함수 만들기 (0) | 2023.09.09 |
---|---|
jQuery: ajax 예외 잡기 (0) | 2023.09.09 |
python mysql /mariaDB 데이터베이스 오류 (2013년, '쿼리 중 MySQL 서버와의 연결 끊김') (0) | 2023.09.09 |
도커 컨테이너의 실행 명령을 표시하는 방법 (0) | 2023.09.09 |
집합에 값 배열을 추가하는 방법 (0) | 2023.09.09 |