我如何重用coffeescript代码?

时间:2013-05-02 19:14:36

标签: javascript coffeescript

Coffeescript将所有功能封装在一个文件中。这很好,但给我带来了一个问题:

假设我有一个coffeescript库,让我们说math.coffee的函数gimme_prime(x)返回第x个素数,你需要在一堆文件中使用这个函数。

所以,基本上,我如何重用coffeescript代码?

2 个答案:

答案 0 :(得分:1)

根据OP的要求:

我评论说他可能需要的是模块模式,它指向this article。我将自己仔细看看这篇文章,因为乍一看它看起来确实很有希望。

要排序限制对模块将仅暴露给部分代码的函数的访问,您可以将这些文件中的对象传递给模块的IIFE,并将所有文件包装在IIFE中也是。这样,使用全局变量(抱歉)来回传递对象,并尽快指定undefined
由于JS是从上到下处理的,因此文件链接到页面的顺序以及将undefined分配给该全局变量的位置确实很重要...但在某些时候,该模块的所有内容都相同要被其他文件访问,除非你使用了各种类型的lib,这在某些时候需要一个全局变量

答案 1 :(得分:0)

您有两种选择:

  1. 直接访问全局对象,例如window.gimme_prime = function() ...

  2. 使用一些实现AMD体系结构的JS工具包(例如参见Dojo工具包)。