Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 使用ES6导入时的执行顺序说明?_Javascript_Import_Es6 Modules_Circular Dependency - Fatal编程技术网

Javascript 使用ES6导入时的执行顺序说明?

Javascript 使用ES6导入时的执行顺序说明?,javascript,import,es6-modules,circular-dependency,Javascript,Import,Es6 Modules,Circular Dependency,我正在用webpack处理一个ES6项目,在删除一个未使用的导入之后 在一个完全不相关的文件中,出现了循环依赖性问题 这是模糊的原始代码,不起作用。由于循环依赖性,它不会加载, 我不知道到底发生了什么。我相信它在出错前只打印了“A” //A.js 从“B”输入B; 常数B=getB(); 导出默认值B; //B.js 从“C”输入C; 函数getB(){ useC(C); } 导出默认getB; //C.js 从“D”输入D; 函数useC(){ D(); } 导出默认useC; //D.js

我正在用webpack处理一个ES6项目,在删除一个未使用的导入之后 在一个完全不相关的文件中,出现了循环依赖性问题

这是模糊的原始代码,不起作用。由于循环依赖性,它不会加载, 我不知道到底发生了什么。我相信它在出错前只打印了“A”

//A.js
从“B”输入B;
常数B=getB();
导出默认值B;
//B.js
从“C”输入C;
函数getB(){
useC(C);
}
导出默认getB;
//C.js
从“D”输入D;
函数useC(){
D();
}
导出默认useC;
//D.js
从“A”导入A;
函数D(){
constanting=a.事物();
}
导出默认值D;
这是原始代码,不起作用。由于循环依赖性,它不会加载, 我不知道到底发生了什么。我相信它在出错前只打印了“A”

我改成了这个

//A.js
从“B”输入B;
从“C”输入C;
常数B=getB(C);
导出默认值B;
//B.js
函数getB(C){
useC(C);
}
导出默认getB;
//C.js
从“D”输入D;
函数useC(){
D();
}
导出默认useC;
//D.js
从“A”导入A;
函数D(){
constanting=a.事物();
}
导出默认值D;
当我在模块上打印执行命令时,它显示B D C A。 从我从各种答案中读到的情况来看,当D导入A时, 它简化了调用并开始处理它自己的主体,因为在函数中使用了。 为什么前者不能像后者那样简化函数的导入,如果它就是这样做的呢