如果 main 里面引入 axios ,然后引入 router ,而 router 里面也引入 axios,会不会重复
技术点备忘
如果 main 里面引入 axios ,然后引入 router ,而 router 里面也引入 axios,会不会重复
不会重复的。
虽然你在 main
中引入了 axios
,并且在 router
中也引入了 axios
,但引入的 axios
是同一个模块。JavaScript 的模块系统是基于单例模式的,意思是每个模块只会被加载一次,之后的引用都会指向同一个实例。
具体来说:
- 当你在
main.js
中引入axios
,它会在模块加载时创建一个axios
实例。 - 在
router.js
中再次引入axios
时,JavaScript 的模块系统会识别出这是同一个模块,所以它不会重新加载axios
,而是直接复用在main.js
中加载的实例。
因此,尽管在多个文件中引用 axios
,也不会导致重复加载,它们共享同一个实例,不会引发多次请求或重复的问题。