我正在使用 CoffeeScript 开发并想开始使用 Underscore.js。我知道任何 JS 库都可以在 CoffeeScript 中使用。
网上有常规的UnderscoreJS和CoffeScript版本。两者的含义有什么不同吗?使用下划线 JS 版本来满足我的 CoffeeScript 需求是否完全可以?
我正在使用 CoffeeScript 开发并想开始使用 Underscore.js。我知道任何 JS 库都可以在 CoffeeScript 中使用。
网上有常规的UnderscoreJS和CoffeScript版本。两者的含义有什么不同吗?使用下划线 JS 版本来满足我的 CoffeeScript 需求是否完全可以?
您需要使用 JavaScript 版本。CoffeeScript 版本可能只是作者在玩 CoffeeScript,这是有道理的,因为他是 CoffeeScript 和 Underscore 的作者。此外,CoffeeScript 版本引入了一个编译步骤(假设您在浏览器中使用它,而不是在带有 node.js 的服务器上)。
作为另一种选择,请查看 Lodash。它是 Underscore 的直接替代品,出于多种原因,它是更好的选择。它在过去几天刚刚发布了 v1.0。
通常当你在 Coffeescript 中开发时,你会需要一些东西来将你的各种 Coffeescript 文件一起编译成 Javascript,以便浏览器可以运行它。您希望如何使用该库决定了您将使用哪个版本。
选项 1:手动将 Underscore 库(以 JS 形式)作为<script>
标签添加到您的页面中,并将您编译的咖啡脚本添加为<script>
标签。快速简单地让事情正常工作,但是当您向页面添加更多库/样式和意大利面条代码时,会导致标签<script>
的堆积。<meta>
选项 2:使用工具将所有 Coffeescript 和 CSS 编译成单个 JS/CSS 文件,然后在 HTML 中引用该文件。然后,您将使用下划线的 Coffeescript 形式并将其与其余代码一起编译。这是我使用的方法,其额外优势是能够使用npm之类的工具来管理依赖项。此外,它允许您拥有一个测试 Web 服务器,该服务器可以在您编辑 Coffeescript 时实时编译您的代码。查看我关于使用 hem、npm 和 Spine 的帖子。
对于选项 2,您可以查看的其他内容是requireJS。