PHP可以直接使用'require'、'include'是因为PHP当初加入了这个功能,PHP这门语言天生就支持。
在Node这个环境中对JavaScript进行了特殊的模块化支持CommonIS
JavaScript天生不支持模块化,require/exports是Node.js才有的。
在浏览器中也可以像Node中的模块一样来进行编程。
'<script>'标签来引用加载,而且你还必须考虑加载的先后顺序
require.js 第三方库 AMD
sea.js 第三方库 CMD
无论是CommonJS、AMD\CMD\UMD\EcmaScript 6 Modules官方规范,都是为了解决JavaScript的模块化问题。
CommonJS\AMD\CMD都是民间搞出来的。
EcmaScript是官方规范定义。EcmaScript在2015年发布了EcmaScript 2016官方标准,其中就包含了官方对JavaScript模块化的支持,这时候也就是说语言天生就支持了。虽然说标准已经发布了,但是很多JavaScript运行环境还不支持。
Node也是只在8.5版本之后才对EcmaScript 6 module进行了支持。