动态加载和静态加载指的是什么时候加载,动态加载是运行时加载(CommonJS),静态加载是编译(预编译)时加载(ES6)。当然es6也提供的动态加载,即import() 。
动态加载:require() 、import()
静态加载:import
同步加载还是异步加载指的是加载的方式。 静态加载中都是同步加载的。动态加载中CommonJS的require是同步的。而es6import()是异步的。
同步加载:require()
异步加载:import()、 require(['xxx'],() =>{})
同步加载很明显,会阻塞接下来的流程,异步加载不会。
普通的import语句( import Fuck form '../fuck.vue' )因为是预编译的时候,加载的,加载后会放到模块的最上面,然后接下来才是运行。他都没有阻塞或不阻塞接下来的程序运行,所以他不属于同步加载,也不属于异步加载。

本文探讨JavaScript中的模块加载机制,包括动态加载(CommonJS的require和ES6的import())与静态加载(ES6的import)。动态加载在运行时进行,CommonJS的require是同步的,而ES6的import()是异步。静态加载在编译时完成,全部为同步。预编译时的import语句并不阻塞程序,因此它既不属于同步也不属于异步加载。
2889





