我想在我的Discord机器人中使用以下版本的discord.js:
discord.js v11.6.4 discord.js v12.4.1
我尝试依次安装它们,但都没有成功。
first
npm i discord.js@11.6.4
then
npm i discord.js@12.4.1
有没有一种方法可以在package.json中区分discordv11和v12,并在一个机器人中同时使用这两个模块?
我想在我的Discord机器人中使用以下版本的discord.js:
discord.js v11.6.4 discord.js v12.4.1
我尝试依次安装它们,但都没有成功。
first
npm i discord.js@11.6.4
then
npm i discord.js@12.4.1
你需要使用npm的别名功能(注意,该功能仅适用于npm v6.9.0及以上版本)
npm install discord.js11@npm:discord.js@11.6.4
npm install discord.js12@npm:discord.js@12.4.1
那么你可以这样访问它:
const discord11 = require('discord.js11')
const discord12 = require('discord.js12')
我不知道为什么你正在使用 discord.js v11,v12 应该拥有更全面的覆盖率和更多功能,你最好只使用 djs v12。
package.json
文件并添加:"dependencies": {
"DiscordJS11": "npm:discord.js@11.6.4",
"DiscordJS12": "npm:discord.js@12.4.1"
}
npm install
当您在NPM中安装模块时,您将无法在2个不同的版本中使用相同的模块。您可以做的是拥有2个具有相同功能但不同的模块。
您需要执行以下操作:
npm i discord.js@11
npm i discord.js@12
现在,你需要做同样的事情,但是不要使用 discord.js_v11,而是改为 discord.js_v12。
现在,在你的机器人的主文件中,你需要这样做:
const DiscordV11 = require("discord.js_v11")
const DiscordV12 = require("discord.js_v12")
Node会理解它们是两个不同的模块,然后为您接受它。
我希望能对您有所帮助。嗯,你可以使用版本12,该版本具备版本11的所有功能。
npm install discord.js@v12
这似乎是一种不好的做法。想象一下,如果 DiscordJs 11 到 12 与 DiscordAPI 有重大变化,我猜你想要使用 v12 的新功能,也许最好是妥协现有的东西或将 v11 代码重写为 v12。我希望在 v11 到 v12 中没有太多的重大变化,尽管 v13 有很多重大变化。
您可以在npm中安装discord.js-v11
和discord.js-v12
软件包。
在终端/cmd中:
npm install discord.js-v11
const { Client, Intents } = require('discord.js-v11');
// code...
这也适用于V12。
只需将v11替换为v12即可。