繁体   English   中英

Discord.js SyntaxError:无法在模块外使用导入语句

[英]Discord.js SyntaxError: Cannot use import statement outside a module

我正在尝试将第二个文件中的常量导入到第一个文件中,以便嵌入可以使用这些导入来发送消息

档案一:

module.exports = {
  data: {
    name: "GT1",
  },
  async execute(interaction, client, message) {

    //const {a1, a2, a3} = require('./src/components/modals/GeneralTicket');
    import {a1, a2, a3} from './src/components/modals/GeneralTicket.js'

   // const a1 = interaction.fields.getTextInputValue("a1");
   // const a2 = interaction.fields.getTextInputValue("a2");
   // const a3 = interaction.fields.getTextInputValue("a3");

    const embed = new EmbedBuilder()
      .setColor(0x0099ff)
      .setTitle("ClixMC General Support Ticket ")
      .setTimestamp()
      .addFields(
        { name: "IGN:", value: `${a1}` },
        { name: "What is your Ticket related to:", value: `${a2}` },
        { name: "Brief summary:", value: `${a3}` }
      );

      createdChannel.send({
      embeds: [embed],
      ephemeral: true,
    });
    
  },
};

档案二:

module.exports = {
    data: {
        name: `GeneralTicket`
    },
    async execute(interaction, client, message) {

        client.on('interactionCreate', (modalSubmit) => {
            if (!modalSubmit.isModalSubmit()) return;
            
            
            const a1 = interaction.fields.getTextInputValue('a1');
            const a2 = interaction.fields.getTextInputValue('a2');
            const a3 = interaction.fields.getTextInputValue('a3');

            const embed = new EmbedBuilder()
            .setColor(0x0099FF)
            .setTitle('ClixMC General Support Ticket ')
            .setTimestamp()
            .addFields(
                { name: 'IGN:', value: `${a1}` },
                { name: 'What is your Ticket related to:', value: `${a2}`},
                { name: 'Brief summary:', value: `${a3}`});
             
                const row = new ActionRowBuilder()
                .addComponents(
            new ButtonBuilder()
                .setCustomId('GT1')
                .setLabel(`Submit`)
                .setStyle(ButtonStyle.Success)
                .setDisabled(false),
            );
                
            modalSubmit.reply({ embeds: [embed] , ephemeral: true, components: [row], content: "To submit your ticket click `Submit` to cancel click `Dismiss Message`." });
        
            
        });
    },
};

我的导入错误:SyntaxError: Cannot use import statement outside a module

我已经尝试了这两种方法,但仍然无法正常工作

import {a1, a2, a3} from './src/components/modals/GeneralTicket.js'
const { a1, a2, a3 } = require("./src/components/modals/GeneralTicket");

这不是导入在 Javascript 中的工作方式。您正在做的是从尚未调用的 function 导入变量。 导入需要在文件的顶部,并且const x = require('x')语法是正确的。 你不能按照你现在的方式做你想做的事,但我相信还有另一种方法。 不幸的是,不知道您想要什么和更多代码,我无能为力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM