AMD和COMMONJS

ESMODULE

静态引入(要用什么一开始就要想好)

例子 import a from ‘a’

if(ture){
     
    import a from 'a'
} else {
     
    import b from 'b'
}

上述不可以这样判断(无效)

优点

webpack,做代码的预分析,(依赖拓扑),如果是commonJS就会

AMD

动态引入(依赖前置)

require([module], callback);
require(['math'], function (math) {
     
  math.add(2, 3);
});

COMMONJS

动态引入

例子:require(‘path’)

if(ture){
     
    const path = require('path)
} else {
     
    const path = require('fs')
}

上述可以这样判断可用

优点

与AMD相比,耦合性强度会稍微高一点

总结

AMD 和 COMMONJS 是动态的引入,AMD主要是一个依赖前置,COMONJS是require的具体语法, ESMODULE是静态引入

你可能感兴趣的:(前端知识)