Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

CommonJS 不会有将来

  我一直都觉得在前端项目中使用 CommonJS 是一件很奇怪的事情。因为它无法在浏览器上跑起来,必须经过一次 Build 才能转换成浏览器可用的东西。相比之下 AMD 这样能在浏览器上直接跑的东西才适合前端。不过 AMD 的规范性太弱,也许 ES6 的 Modules 才是未来。
  目前的 CommonJS 处于一个很尴尬的位置。上不及 ES6 Modules 来得规范,下不及 AMD 来得灵活。如果非要 Build 一次才能使用的话,CoffeeScript 或 ES6 来写也要方便得多。我们还有什么理由在前端项目中使用 CommonJS 呢?
  其实不仅仅是前端项目,就算是 Node 项目如果用 babel 之类的工具来跑的话也可以使用更规范的 ES6 Modules,那么还有什么理由去用那古老的 CommonJS 呢?当年搞 CommonJS 只是因为 JavaScript 缺少一套 Modules 管理机制。既然现在已经提供,那么它是不是应该退休了呢?
  我一直很反感 webpack 就是因为 webpack 太把 CommonJS 当回事了。不过 webpack 也支持 AMD 或 ES6 Modules 之类的东西还是很不错的。我只是 CommonJS 黑,并不是 webpack 黑(一些工具我也在用 webpack 打包,确实很方便)。
  也许很多人还在使用 CommonJS?那我还能说什么呢?反正我觉得 CommonJS 快要死了!将来的趋势应该是 ES6 Modules。而 AMD 与 ES6 Modules 并不是同类的东西(我认为 AMD 的定位应该是用来在 ES5 中实现 Modules 的),所以不会像 CommonJS 一样死掉。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^