Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中隐式导入函数_Javascript_Node.js_Reactjs - Fatal编程技术网

在javascript中隐式导入函数

在javascript中隐式导入函数,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我有两个文件 //callee.js const first = (name) => { return name; } const second = (name) => { return name + " is this"; } module.exports = [ first, second ] //caller.js const nav = require("./callee.js"); console.log(nav.first("bob"

我有两个文件

//callee.js
const first = (name) => {
    return name;
}

const second = (name) => {
    return name + " is this";
}

module.exports = [
    first,
    second
]
//caller.js
const nav = require("./callee.js");

console.log(nav.first("bob")); //returns bob 
...(Object.values(nav)); //want something like this

first("bob"); // this should return bob

如何调用或分解caller.js中的import变量“nav”,以获得上述结果?

这是您想要的吗

const[first,second]=require(“./callee.js”);
第一(“鲍勃”);

如果您不想像郝武的优秀答案那样显式地键入变量名,您可以这样做:

Object.assign(window, require('./callee.js'));
first('bob');
(将Node.js中的
窗口
替换为
全局
。)


重要提示:这太可怕了。我写这篇文章是为了从字面上回答这个问题,只是为了证明这是可能的。请不要这样做。要么保留名称空间(
nav.first
),要么提取特定函数(如郝武所示)。

不,我不希望像您上面提到的那样对赋值进行解构。我想要的是将callee.js文件的导出函数隐式地存在于caller.js文件中。不,我不想要像Hao Wu提到的那样的解构赋值。我想要的是将callee.js文件的导出函数隐式地存在于caller.js文件中。想象一下,第一个和第二个函数最初出现在caller.js文件中。所以调用函数。我先写(“名字”)。现在,如果我将该函数移出caller.js文件,但仍然希望像前面一样调用它。