对于JavaScript
搭建网站领域中的人来说,这个领域的动态和革命性变化是有规律的,这是非常标准的。变化是经常的,但目前主流浏览器和 Node 引擎的支持还不是很活跃。
我们可以同意这是很正常的,因为在非常动态的环境中对所有引擎的工作需要时间和多次迭代。所有这些向后兼容性都是一种痛苦。不过,我想这没问题,而且在这个过程中很好。
在 JS 世界中,我们至少有两个重要的里程碑。第一个是 EcmaScript5,下一个是 EcmaScript6,也称为 ES2015,这是 IMO 更好的命名约定,特别是因为我们从这个版本中定期更新。所以我将使用该命名约定。它更具描述性,有助于描述 ES2015 的重要性以及完全支持内置模块和所有其他酷特性需要多少时间。
很长一段时间以来,JavaScript 语言都有多种不同形式的模块排序支持,主要是使用第三方库。这很重要,因为它有助于构建包和模块。我们仍然在 Node 中使用 CommonJS,而且——也许更少——AMD/UMD 的所有变体。
我记得几个月前我开始编写我的简单 Node CLI 工具。静态站点生成器称为Harold。我知道我可以通过两种方式做到这一点。我可以合并一些转译器、捆绑器和所有这些东西,或者使用标准和支持的 CommonJS。我选择了第二个,因为它在没有任何额外配置的情况下编写代码更加自然和直接。很简单。简单和明显的模式是编程语言的基础。CommonJS 是一个过渡性的解决方案,它是完美的,但现在我可以使用现代 JavaScript 语言编写相同的代码,而且我不必考虑第三方工具,这一点至关重要。让我们在这里暂停一下。是的,您可以以相同的方式编写您已经编写的所有代码,无需任何第三方库,但有一些例外。让我们进一步挖掘。