我尝试通过运行npm install discord.js
来安装Discord.JS,它看起来像是工作的,但实际上没有。
我在运行index.js
文件时遇到此错误,但它给出了一个错误消息,指出找不到discord.js
。因此,我尝试重新安装它:
PS G:\My Drive\coding\node.js\bot> npm install https://github.com/discordjs/discord.js.git
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN bot@0.0.1 No repository field.
+ discord.js@12.0.2
added 15 packages from 17 contributors and audited 15 packages in 97.377s
found 0 vulnerabilities
然后运行index.js
文件:
const Discord = require('discord.js');
const bot = new Discord.Client();
const botCommands = require('./commands');
const { prefix, token } = require('./cfg.json');
bot.login(TOKEN);
bot.on('ready', () => {
console.info(`Logged in as ${bot.user.tag}!`);
});
这是控制台中显示的结果:
PS G:\My Drive\coding\node.js\bot> node .
internal/modules/cjs/loader.js:796
throw err;
^
Error: Cannot find module './commands'
Require stack:
- G:\My Drive\coding\node.js\bot\index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
at Function.Module._load (internal/modules/cjs/loader.js:686:27)
at Module.require (internal/modules/cjs/loader.js:848:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (G:\My Drive\coding\node.js\bot\index.js:3:21)
at Module._compile (internal/modules/cjs/loader.js:955:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'G:\\My Drive\\coding\\node.js\\bot\\index.js' ]
}
侧记:在运行index.js
之前,我运行了npm init -y
来创建一个包。
英语不是我的第一语言
6条答案
按热度按时间wljmcqd81#
如果您找不到/commands文件夹-您确定它在那里吗?-请确定它在文件夹
'G:\My Drive\coding\node.js\bot\'
中。thigvfpy2#
好的。首先,它说模块“./commands”没有找到,discord.js确实存在。
原因是,您正在尝试导入一个文件夹。Node.js不能以这种方式工作。
您必须删除带有require(“./commands”)的行,并将其替换为如下内容:
将返回该目录中的文件名数组。
那就继续做你的事吧
wlzqhblo3#
请确保您使用的是正确的文件夹,并且
G:\My Drive\coding\node.js\bot
中有commands
文件夹cidc1ykv4#
错误在第3行,您需要以下命令
如果您有命令文件夹,请执行以下操作
ecr0jaav5#
我觉得你想要的是
但如果使用此命令,则需要在命令文件中包含以下内容:
gmxoilav6#
好吧,你看,如果它说“命令是找不到”,那么它可能是你的文件夹可能是错误的,仔细检查大写和小写。如果仍然显示错误。
确保您的命令文件夹确实在此目录中。
希望这对你有帮助!