跳至内容

CoffeeScript

CoffeeScript 是一种编译成 JavaScript 的小型语言。它提供了一种简单的语法,没有大量的括号和圆括号。代码逐一编译成等效的 JS,并且在运行时没有解释。

CoffeeScript 在客户端和服务器端都受支持。以 .coffee.litcoffee.coffee.md 结尾的文件会自动编译成 JavaScript。

命名空间和 CoffeeScript

以下是 CoffeeScript 如何与 Meteor 的命名空间一起工作。

  • 根据通常的 CoffeeScript 约定,CoffeeScript 变量默认情况下是文件范围的(仅在定义它们的 .coffee 文件中可见)。

  • 在编写包时,CoffeeScript 定义的变量可以像任何其他变量一样导出(参见 Package.js)。导出变量会将其提升到包范围,这意味着它将对应用程序或包中的所有代码(.js.coffee 文件)可见。

  • .js 文件中声明的包范围变量在同一应用程序或项目中的任何 .coffee 文件中都可见。

  • 除了导出之外,没有其他方法可以从 .coffee 文件创建包范围变量。我们无法找到一种方法让它自然地融入 CoffeeScript 语言中。如果您想将包范围变量与 CoffeeScript 一起使用,一种方法是创建一个简短的 .js 文件来声明所有包范围变量。然后可以从 .coffee 文件中使用和分配它们。

  • 如果您想在同一个包中的 .coffee 文件之间共享变量,并且不想在 .js 文件中单独声明它们,我们有一个您可能喜欢的实验性功能。名为 share 的对象在 CoffeeScript 代码中可见,并在同一包中的所有 .coffee 文件之间共享。因此,您可以为在包中的所有 CoffeeScript 代码之间共享但不会逃脱该包的值编写 share.foo

大量的 CoffeeScript 用户,请告诉我们这种安排对您来说如何运作,share 对您是否有帮助,以及您希望看到更改的任何其他内容。

模块和 CoffeeScript

参见 模块 » 语法 » CoffeeScript