Javascript 使用ES6导入时的执行顺序说明?
我正在用webpack处理一个ES6项目,在删除一个未使用的导入之后 在一个完全不相关的文件中,出现了循环依赖性问题 这是模糊的原始代码,不起作用。由于循环依赖性,它不会加载, 我不知道到底发生了什么。我相信它在出错前只打印了“A”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
//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时,
它简化了调用并开始处理它自己的主体,因为在函数中使用了。
为什么前者不能像后者那样简化函数的导入,如果它就是这样做的呢