使用module.exports从函数中获取变量但没有返回

亨德里克·英

我有点迷路:

我试图使变量在另一个函数中可用,因为我确实已经需要返回其他东西。我以为我可以使变量全局可用并将其导入FileB中,这是怎么回事,可能有更好的方法吗?非常感谢

文件:

const variableToPass = null;

module.exports = (env) => {
    variableToPass = env;

    const varA = require(`./FileB.js`); 
    const varB = doThis(varA, …doSomething());
    return varB;
};

module.exports = variableToPass;

文件B:

const variableToPass = require(‚./.FileA‘);

console.log(variableToPass);

它记录: { [Function] variableToPass: null }

昆汀

您在这里遇到几个问题。

  1. const env 定义一个常量,所以您不能更改它
  2. (env) => { 使用相同名称的局部变量对其进行屏蔽,因此您甚至不必尝试对其进行更改
  3. 无论如何,您永远不会调用该函数
  4. module.exports.env = env;复制价值env 声明进行评估的时候,所以即使你没有改变env,也不会改变出口属性的值

只需导出包含您需要的所有内容的明智数据结构即可。

// called.js

var env = null;

function stuff() {
    env = 1;
    return 2;
}

function get_side_effect() {
    return env;
}

module.exports = {
    stuff: stuff,
    get_side_effect: get_side_effect   
};

// caller.js

const caller = require("caller");

var stuff = called.stuff();
var side_effect = called.get_side_effect();
console.log(stuff, side_effect);

或从函数中返回明智的数据结构:

// called.js

var env = null;

function stuff() {
    env = 1;
    return {
        value: 2,
        env: env
    };
}


module.exports = {
    stuff: stuff
};

// caller.js

const called = require("called");

var stuff = called.stuff();
console.log(stuff.value, stuff.env);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用C中没有参数且没有返回类型的函数来更新变量

通过node中的module.exports获取变量

在 module.exports 中使用的函数中未定义

使用module.exports返回对象

如何在module.exports函数中使用d3返回数据?

如果没有分配给 module.exports,Node.js 'require()' 会返回什么

使用嵌套的forEach循环而没有临时变量时,如何从主函数返回值?

使用switch语句没有函数返回

有没有更好的方法使用NESTING函数来获取数据帧来获取多个变量?

Node.js-使用module.exports作为构造函数

有没有一种方法可以使用内部函数中的变量

在 Python 中,有没有办法在内部函数体中使用外部函数中的变量?

在节点module.exports中的对象方法中使用'this'

在React ES6中使用module.exports

Node.js module.exports函数从MongoDB返回数组

检查函数是否在module.exports中具有多个参数

尝试使用 tkinter 从函数中获取变量

Axios中的回调函数返回错误(使用Vue,没有jQuery)

有没有办法一致地引用捕获返回的变量并在返回类型可移动时在析构函数中使用它?

Sinon没有在module.exports上存根

我没有从 module.exports 得到答案

使用 module.exports 通过脚本使用变量不起作用

在webpack中module.exports之后找不到变量

指针在没有地址的函数中的使用

有没有办法在不使用void指针的情况下返回C函数中的任何类型?

有没有一种方法可以使用ShinyWidgets包中的pickerInput函数对变量进行分组?

尝试使用 getJSON 函数,但它没有返回任何内容

TypeScript-函数内部没有“在分配之前使用变量”

节点JS在module.exports中调用“本地”函数