Node.js学习 (十二)JavaScript模块化问题

JavaScript 模块化

JavaScript 天生不支持模块化

注意:但是虽然标准已经发布了,但是很多 JavaScript 运行环境还不支持。 Node v8.5 版本之后才对 EcmaScript 6 module 进行了支持

  • Node.js 里有exportsrequire
    • 模块独立作用域
    • 可以使用 API 来进行文件与文件之间的依赖加载
    • 在 Node 这个环境中对 JavaScript 进行了特殊的模块化支持 CommonJS
  • 在浏览器中也可以像在 Node 中的模块一样来进行编程
    • <script> 标签来引用加载,而且你还必须考虑加载的顺序问题
    • require.js 第三方库 AMD
    • sea.js 第三方库 CMD
  • 发布 EcmaScript 6 Modules 官方规范

    • 其中就包含了官方对 JavaScript 模块化的支持 ,官方看民间都在乱搞,开发人员为了在不同的环境使用不同的 JavaScript 模块化解决方案。也就是说语言天生就支持了
  • 无论是 CommonJS、AMD、CMD、UMD、EcmaScript 6 Modules 官方规范

    • 都是为了解决 JavaScript 的模块化问题
    • CommonJS、AMD、CMD 都是民间搞出来的
PHP 中为什么就可以直接 requireinclude ?
  • 因为 PHP 当初在设计的时候就加入了这个功能
  • PHP 这门语言天生就支持

猜你喜欢

转载自blog.csdn.net/qq_39043923/article/details/89326366