You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从.js文件导出对象供主文件调用?Node.js CommonJS导入导出问题求解

Node.js 跨文件变量导出导入修复方案

问题根因

  • queue.js中重复对module.exports赋值,第一次导出的lista被后续的赋值完全覆盖,最终导出的对象中不包含lista属性
  • bot.js中执行require操作后没有接收返回值,lista不会自动注入到当前文件的作用域,直接访问会触发未定义错误

修复步骤

1. 调整queue.js导出逻辑

不要分开两次给module.exports赋值,将lista合并到最终的导出对象中即可:

const { google } = require("googleapis");
const play = require('play-dl');
const lista = []

module.exports = {
  lista,
  // 你原本需要导出的其他属性继续写在这里
  // ... 原有导出内容
}

2. 调整bot.js导入逻辑

接收require返回的导出对象,再从中取出lista使用:

// 写法1:先接收整个导出对象再取值
const queueModule = require(`./commands/queue.js`)
const lista = queueModule.lista
console.log(lista)

// 写法2:直接解构取值(更简洁)
// const { lista } = require(`./commands/queue.js`)
// console.log(lista)

内容的提问来源于stack exchange,提问作者Cristian David Moraleda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:36:03