Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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 - Fatal编程技术网

Javascript 不能要求在同一文件夹中按索引导出对象

Javascript 不能要求在同一文件夹中按索引导出对象,javascript,node.js,Javascript,Node.js,以下是示例应用程序: 场景: 我可以在exec.js中调用func1和func2 我可以在func1()内部调用func2()以这种方式导入:const func2=require('./func2') 我无法在func1()内部调用func2以这种方式导入:const{func2}=require('./') 为什么相同的函数import在exec.js中工作,而在/src/func1.js中不工作? 我收到“func2不是函数”在上一个场景中,您根本不需要文件。这就像从锡空气中得到一个函

以下是示例应用程序:

场景:

  • 我可以在exec.js中调用func1和func2
  • 我可以在
    func1()
    内部调用
    func2()
    以这种方式导入:
    const func2=require('./func2')
  • 我无法在
    func1()
    内部调用
    func2
    以这种方式导入:
    const{func2}=require('./')
为什么相同的函数import在exec.js中工作,而在/src/func1.js中不工作?
我收到“func2不是函数”

在上一个场景中,您根本不需要文件。这就像从锡空气中得到一个函数

此外,语法
const{func2}
通过将对象的导出属性导入变量。在本例中,您正在导出一个匿名函数。没有要导入的属性
func2

如果希望使用
const{func2}=require('./func2')
导入
func2
,则需要从
func2
导出该值:

module.exports = {
    func2: () => {
        console.log("func2");
    }
}

这两个例子绝对不一样。@SebastianKaczmarek你是对的,我对我的答案进行了编辑,以便更准确。另外,请仔细看看OP有什么问题。事实上,他不能从
/
导入
{func2}
,也不能从
/func2
@Nicolas导入
{func2}
。@Nicolas我理解你的方法,但我仍然想知道为什么我可以在
exec.js
文件的第1行使用匿名函数进行对象分解?@Renan这是个好问题。我想我也不太理解Js模块。