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('./')
我收到“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模块。