【问题标题】:Can I use CoffeeScript to combine other js files?可以使用 CoffeeScript 来合并其他 js 文件吗?
【发布时间】:2012-03-28 11:16:11
【问题描述】:

我想知道是否可以使用 CoffeeScript 来包含其他标准 JS 文件(作为一种简单的文件组合方式)。

我正在使用一个客户端缩小工具(一个名为 Live Reload 的应用程序),它运行良好。

<!-- Some jQuery plugins I'm using. -->
<script src="/js/libs/some-plugin.js"></script>
<script src="/js/libs/another-plugin.js"></script>

<!-- The output of my /js/script.coffee file: -->
<script src="/js/script.js"></script> 

我想做的就是将这些插件组合到我的咖啡脚本文件的输出中。我看过高低,我只看到过关于服务器方法的文章以及很多关于requirejs.org之类的文章。我不想做任何复杂的事情——我只是想摆脱一些我知道我永远不会接触到的 js 文件的往返。

CoffeeScript 有“包含”功能吗?

【问题讨论】:

  • 来自coffeescript-concat:“coffeescript concat 需要安装 node.js、CoffeeScript 和 underscore.js。”由于我已经将咖啡脚本输出到 js,因此我不需要另一个外部工具来组合 .coffee 文件。我正在尝试使用 CoffeeScript 本身将其他 .js 文件包含/组合到 .coffee 文件中。
  • CoffeeScript 不是 JavaScript 的超集,所以如果你只是将 #include(你明白了)JS 放入一个 .coffee 文件中,那在语法上将不是有效的 CoffeeScript。您必须首先将 JS 转换为 CoffeeScript,然后将其包含在内……然后将其全部转换回 JS。我真的不明白这一点。

标签: javascript coffeescript


【解决方案1】:

您可以通过创建更复杂的Cakefile 来实现此目的,在该Cakefile 中,您将读取 js 文件的内容并将其附加到 CS 编译器输出中,而不是将其写入单个目标 js 文件中。您甚至可以创建一个伪造的全局 require 函数,该函数将模仿其在捆绑文件中的行为。

如果您正在寻找标准工具或至少是解决该问题的方法,不幸的是,由于 CS 还很年轻,所以还没有。不过也有一些尝试:https://github.com/jashkenas/coffee-script/wiki/Build-tools

我目前正在自己​​开发这样的工具,并计划在一个月内发布它。到时候我再发帖。

【讨论】:

  • 嗨 Nikita,我正在寻找您描述的这种工具,您在这方面有什么进展吗?
  • 我不记得它是否解决了所描述的问题,因为我已经有一段时间没有使用咖啡脚本了,但它可能已经接近了:github.com/nikita-volkov/Robusta
【解决方案2】:

基本上,答案似乎是否定的。这不是 CoffeeScript 能够做到的。

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 2011-11-14
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2011-06-08
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多