【问题标题】:Discord.js sequelize.import is not a functionDiscord.js sequelize.import 不是函数
【发布时间】:2020-10-18 17:58:41
【问题描述】:

所以我按照本教程进行到 T 左右我认为大部分代码 cab 可以在提供的链接上查看,因为我之前从未使用过 sequelize https://discordjs.guide/sequelize/currency.html#file-overview

而且我似乎无法修复这个错误TypeError: sequelize.import is not a function 我已经摆弄了几个小时安装了它的所有依赖项重新安装了它等等。试着弄乱 const 看看这是否是问题不。

错误似乎出现在任何 sequelize.import 上



const sequelize = new Sequelize('database', 'username', 'password', {
    host: 'localhost',
    dialect: 'sqlite',
    logging: false,
    storage: 'database.sqlite',
});

const Users = sequelize.import('models/Users');
const CurrencyShop = sequelize.import('models/CurrencyShop');
const UserItems = sequelize.import('models/UserItems');

UserItems.belongsTo(CurrencyShop, { foreignKey: 'item_id', as: 'item' });

Users.prototype.addItem = async function(item) {
    const useritem = await UserItems.findOne({
        where: { user_id: this.user_id, item_id: item.id },
    });

    if (useritem) {
        useritem.amount += 1;
        return useritem.save();
    }

    return UserItems.create({ user_id: this.user_id, item_id: item.id, amount: 1 });
};

Users.prototype.getItems = function() {
    return UserItems.findAll({
        where: { user_id: this.user_id },
        include: ['item'],
    });
};

module.exports = { Users, CurrencyShop, UserItems };

我的 package.json 以防万一我在谷歌上发现了一些可能是问题的地方,所以只需添加它

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "ViridianZe",
  "license": "ISC",
  "dependencies": {
    "better-sqlite3": "^7.1.0",
    "bindings": "^1.5.0",
    "canvas": "^2.6.1",
    "debug": "^4.1.1",
    "discord": "^0.8.2",
    "discord-auditlog": "^2.1.6",
    "discord.js": "^12.2.0",
    "discord.js-commando": "github:discordjs/Commando",
    "discord.js.old": "^11.6.5",
    "dottie": "^2.0.2",
    "index.js": "0.0.3",
    "inflection": "^1.12.0",
    "moment": "^2.27.0",
    "moment-timezone": "^0.5.31",
    "nan": "^2.14.1",
    "node-pre-gyp": "^0.15.0",
    "npm-install-all": "^1.1.21",
    "nvm": "0.0.4",
    "nvmw": "^1.0.0",
    "prebuild-install": "^5.3.4",
    "reaction-role": "^1.7.1",
    "sequelize": "^6.2.3",
    "sequelize-pool": "^6.0.0",
    "sqlite": "^4.0.11",
    "sqlite3": "^4.2.0",
    "tar": "^6.0.2",
    "toposort-class": "^1.0.1",
    "uui": "^1.0.7",
    "validator": "^13.1.1",
    "wkx": "^0.5.0"
  }
}

任何帮助或指点都会很多!赞赏!因为我不知道我现在可以做些什么来尝试修复它

【问题讨论】:

    标签: sequelize.js bots discord.js


    【解决方案1】:

    Sequelize 已弃用的导入,现在他们建议您使用 require。如果您遵循 Discord.js 文档中的货币系统,则需要更改导入。

    const CurrencyShop = sequelize.import('models/CurrencyShop');
    sequelize.import('models/Users');
    sequelize.import('models/UserItems');
    

    变成:

    const CurrencyShop = require('models/CurrencyShop')(sequelize, Sequelize);
    require('models/Users')(sequelize, Sequelize);
    require('models/UserItems')(sequelize, Sequelize);
    

    我在自己的项目中做过类似的事情,效果很好。

    【讨论】:

      【解决方案2】:

      好的,所以我设法找到了一个修复程序——这完全取决于我的 index.js 代码的位置,无论教程说什么,请确保将其全部保持在初始化之下。

      【讨论】:

      • 我遇到了同样的问题。请您进一步澄清一下吗?
      猜你喜欢
      • 2021-08-21
      • 2018-04-15
      • 2020-11-13
      • 2020-12-31
      • 2020-12-07
      • 2020-08-23
      • 2020-01-22
      • 2020-11-13
      • 2017-11-28
      相关资源
      最近更新 更多