【问题标题】:Node.js require multiple files in the same folderNode.js 需要在同一个文件夹中有多个文件
【发布时间】:2020-08-08 03:25:42
【问题描述】:

我正在使用 node.js 为我的服务器构建一个不和谐机器人,并且我有一堆用于该机器人的命令。每个命令都在不同的文件中,所以我有很多 const cmd = require("../commands/cmd.js");

const kick = require("../commands/kick");
const info = require("../commands/info"); 
const cooldown = require("../commands/cooldown");
const help = require("../commands/help");

有没有更简单的方法来做到这一点?

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    command 文件夹中创建index.js 文件,然后您可以像这样导出对象。

    const kick = require("../commands/kick");
    const info = require("../commands/info"); 
    const cooldown = require("../commands/cooldown");
    const help = require("../commands/help");
    
    const command = {
      kick,
      info,
      cooldown,
      help
    };
    
    module.exports = command;
    

    你可以像这样导入和使用它:

    const {kick, info} = require('./commands');
    

    【讨论】:

      【解决方案2】:

      改为从一个文件中导出对象?

      const kick = require("../commands/kick");
      const info = require("../commands/info"); 
      const cooldown = require("../commands/cooldown");
      const help = require("../commands/help");
      
      const commands = {
        kick,
        info,
        ...
      }
      
      module.exports = commands;
      

      然后:

      const commands = require('mycommands')
      
      commands.kick()
      

      【讨论】:

        【解决方案3】:

        在文件夹commands 中放置一个名为index.js 的文件。

        每次在新文件中执行新命令时,都需要 index.js 中的该文件,然后将其添加到它的导出中。例如 index.js 将是:

        const kick = require('./kick');
        const info = require('./info');
        
        module.exports = {
          kick: kick,
          info: info
        }
        

        然后从任何文件夹中,您可以在一行中要求多个命令,如下所示:

        const { kick, info } = require('../commands');
        

        【讨论】:

        • 您知道自动化此过程的最佳实践吗?假设遍历目录中的所有文件(index.js 除外),然后将它们包含在 modules.exports 定义中?
        猜你喜欢
        • 2011-07-18
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多