【问题标题】:How can i import thing in js ? (discord.js)如何在 js 中导入东西? (discord.js)
【发布时间】:2020-05-06 23:32:02
【问题描述】:

我遇到了一个不和谐机器人的 js 导入问题。 这是我的代码的一部分:

import * as Discord from "discord.js";
import * as fs from "fs";

import config from "./config.json";

const client = new Discord.Client();

但是,我遇到了一个错误:

import * as Discord from "discord.js";
       ^

SyntaxError: Unexpected token *
    at Module._compile (internal/modules/cjs/loader.js:722:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
    at Module.load (internal/modules/cjs/loader.js:645:32)
    at Function.Module._load (internal/modules/cjs/loader.js:560:12)
    at internal/modules/esm/translators.js:100:15
    at Object.meta.done (internal/modules/esm/create_dynamic_module.js:48:9)
    at file:///C:/Users/Teo/Desktop/altv-server/resources/discord/bot/index.js:9:13
    at ModuleJob.run (internal/modules/esm/module_job.js:111:37)
    at processTicksAndRejections (internal/process/task_queues.js:89:5)
    at async Loader.import (internal/modules/esm/loader.js:131:24)

我不知道为什么会出现此错误。有人可以帮我解决我的问题吗?

【问题讨论】:

    标签: javascript import discord.js


    【解决方案1】:

    根据dicord.jsdocumentation,因为他们发布了他们的包作为一个普通的js包为了加载它,你应该使用require的ES5导入样式。强>

    所以应该是这样的:

    const Discord = require('discord.js');
    

    【讨论】:

    • 我已经用 require 替换了所有导入,但是现在,我遇到了另一个问题。当我尝试导入文件时,我得到了Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\Users\Teo\Desktop\altv-server\resources\discord\bot\dbconfig.mjs
    • @Scoffgard 你不必替换所有的导入,其中一些可能是用 ES6 编写的,所以就像我说的那样导入 discord
    【解决方案2】:

    您是否尝试过使用 Require 库?

    您不能通过 require 选择性地仅加载您需要的部分,但通过导入,您可以选择性地仅加载您需要的部分。这样可以节省内存。

    const Discord = require('discord.js/browser');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 2021-02-07
      • 1970-01-01
      相关资源
      最近更新 更多