前端模块化方案

 

  • requirejs/seajs: 是一种在线“编译”模块的方案,相当于在页面上加载一个 CommonJS/AMD 模块格式解释器。这样浏览器就认识了 define、exports、module 这些东西,也就实现了模块化。
  • browserify/webpack:是一个预编译模块打包的方案,相比于第一种方案,这个方案更加智能。由于是预编译的,不需要在浏览器中加载解释器。你在本地直接写 JavaScript,不管是 AMD/CMD/ES6 风格的模块化,它都能认识,并且编译成浏览器认识的JavaScript。注意: browerify 打包器本身只支持 Commonjs 模块,如果要打包 AMD 模块,则需要另外的 plugin 来实现 AMD 到 CMD 的转换!