节点 js 对象导出

Node js object exports

本文关键字:对象 js 节点      更新时间:2023-09-26

有一个非常简单的问题,我找不到关于在 Node js 中从模块导出对象的答案,更具体地说是访问对象属性。

这是我导出的对象:

exports.caravan = {
    month: "july"
};

这是我的主要模块:

var caravan = require("./caravan")
console.log(caravan.month);
console.log(caravan.caravan.month);

为什么我不能直接使用caravan.month访问房产,但必须写caravan.caravan.month?

考虑到使用

require ,您可以访问模块的 module.exports 对象(别名为 exports ,但使用exports有一些微妙之处,使得使用module.exports成为更好的选择)。

获取您的代码:

exports.caravan = { month: "july" };

类似于这个:

module.exports.caravan = { month: "july" };

类似于这个:

module.exports = {
  caravan : { month: "july" }
};

如果我们类似地"翻译"require,通过用module.exports的内容替换它,你的代码变成这样:

var caravan = {
  caravan : { month: "july" }
};

这就解释了为什么你需要使用 caravan.caravan.month .

如果要删除额外的间接级别,可以在模块中使用它:

module.exports = {
  month: "july"
};

如果您想通过caravan.month,那么:

module.exports = {
    month: "july"
};

如果要获取对象,请使用

module.exports = {
  caravan = {
       month: "july"
  }
};

然后像这样得到它:

var caravan = require("./caravan")

您也可以检查:

console.log(caravan.caravan.month);