首页 > 解决方案 > 导出的对象为空

问题描述

两天以来,我一直在为不应该阻止我的事情而苦苦挣扎。

基本上,我正在构建一个使用 Express 的 nodeJS 应用程序。在我的主文件(位于我的根文件夹中)中,我正在导出一些变量/常量,出于示例的目的,我将它们替换为:

// ./index.js
const test = 'test'
module.exports = { test }
... some express initialization/routers

然后我有另一个文件,我想在其中使用“测试”变量,所以我需要我的主文件:

// ./aaa/bbb/ccc/test.js
const { test } = require('../../../index);
const myRouter = require('express').Router();

myRouter.get('/', function (req, res){
    console.log(test) // undefined
})

我真的不知道为什么当我正确导出它并通过我的 require 语句“导入”它时它会未定义。

我还尝试“安慰”我应该收到的整个对象,但它是空的:{}

编辑:我正在执行的“主”脚本确实是 index.js,但我非常怀疑这是问题的原因

我真的不知道可能是什么问题,我需要导出一些变量才能在我的项目中访问它们

谢谢!

标签: node.jsnode-modules

解决方案


我认为你做对了。问题可能是es6您的节点版本不接受功能。试试看:module.exports = { test:test }.


推荐阅读