【问题标题】:How to get Node Json Database working in this script?如何让 Node Json 数据库在这个脚本中工作?
【发布时间】:2021-06-20 04:26:26
【问题描述】:

我正在使用 node-json-db 在我的 Discord 机器人中存储数据。该机器人的目的是成为一个用于在 FiveM 中进行角色扮演的患者记录系统(这并不重要,但我认为这会让事情变得更清楚一些)。我有这个脚本:

    module.exports = {
    name: 'search',
    description: "Searches for patient info from database",
    execute(message, args, Discord){
        import { JsonDB } from 'node-json-db';
        import { Config } from 'node-json-db/dist/lib/JsonDBConfig'
        var db = new JsonDB(new Config(`pdb/${message.content.replace('search', '').json}`, true, false, '/'));

        db.push("/test1","super test");

    }
}

(此脚本用于测试)

我无法让它工作,并且在运行脚本时出现错误:SyntaxError: Cannot use import statement outside a module。我应该把这些导入语句放在哪里? (我将外部文件用于命令,我有一个用于机器人骨架的 main.js(登录、获取命令等))

【问题讨论】:

  • 这是ts还是js?

标签: node.js discord.js


【解决方案1】:

该错误是因为默认情况下node.js在package.json中将文件类型设置为commonjs。要使用import - export,您必须在package.json 中指定。

type: module

但是如果你设置了这个,你必须将所有的module.exports 和require 函数转换为import-export。在这种情况下,更简单的解决方法是

    const { JsonDB } = require('node-json-db');
    const { Config } = require('node-json-db/dist/lib/JsonDBConfig');

    module.exports = {
    name: 'search',
    description: "Searches for patient info from database",
    execute(message, args, Discord){
        var db = new JsonDB(new Config(`pdb/${message.content.replace('search', '').json}`, true, false, '/'));

        db.push("/test1","super test");

    }
}

【讨论】:

    【解决方案2】:

    使用其他有效的数据库。

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多