首页 > 解决方案 > 使用另一个文件中的嵌套变量

问题描述

我正在 Visual Studio 代码中使用 node.js。对双方来说还是新的。

我正在尝试从一个 js 文件调用具有子属性的嵌套变量以在另一个文件中使用。如何才能做到这一点?

我已经在我的目标文件中引用了源文件,我可以调用包含在 console.log 中返回 object.object 的变量的文件和方法。对变量本身或分配给其值的对象的任何调用都返回未定义。我尝试使用exports.var,但Visual Studio 代码无法识别该命令。分配给它的值的对象在源文件中确实有一个初始的全局声明。

工作和它的孩子是我想要转移过来的价值。源文件中的 Console.log 命令确实显示了预期值。

源文件:dataHandler.js

let jobArray = null;

export function getJobDetails() {

if(_jobDetails == null) {
    let job, jobIndex, regIndex;

    regIndex = _productTypes.indexOf("reg");
    jobIndex = (regIndex > -1) ? regIndex : 0;
    job = _jobsData[jobIndex].details;   
    jobArray = job;    
  }
  console.log(jobArray.orderId); //returns expected value

  return _jobDetails;
}

目标文件:geo.js

import * as DataHandler from './dataHandler.js';

export function createGeo() {

    var site = DataHandler.jobArray.orderId;
    //var site = DataHandler.getJobDetails().jobArray;
    //var site = DataHandler.getJobDetails(jobArray.orderId);

标签: node.jsvisual-studio-code

解决方案


执行以下操作。

const DataHandler = require('./dataHandler');
var test = DataHandler.getJobDetail();
console.log(test.orderId);

& DataHandler 应该做如下的事情。这里重要的一点是我从 getJobDetails 返回 jobarray。

var jobArray = null;

var getJobDetail = () => {
    jobArray = {
        orderId: 1
    };
    return jobArray;
};

module.exports = {
    getJobDetail
};

推荐阅读