SyntaxError: Unexpected reserved word "await"

SyntaxError: Unexpected reserved word "await"

即使我在异步函数中,我也一直收到此错误...

import { dirname, join } from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

export async function importer(client) {
    const dir = join(__dirname, "../../commands/")

    const commandCategories = readdirSync(dir)
    for (let cat of commandCategories) {
        const commandFiles = readdirSync(join(dir, cat)).filter(files => files.endsWith(".js"));

        for (const file of commandFiles) {
            const command = await import(join(dir, cat, file));
            client.commands.set(command.default.name, command.default);
        }
    }
}

有什么我想念的吗?我绝对需要 const command 中的 import 中的等待部分。它导入一些命令,然后在控制台输出中删除标题中提到的错误。

谢谢。

问题不在于 importer 代码,它出在您尝试导入的模块之一(并且 import 在解析它时崩溃)!

bug in nodedynamic import.[=14期间遇到此语法错误时抛出这样的non-helpful错误是bug in node =]

尝试在导入文件名之前记录文件名,以便您可以查看它崩溃的文件。一旦您知道哪个文件无法解析,请对其进行 static 导入以进行测试,这样您就可以得到一个正确的错误,告诉您哪一行有问题。