什么是在编写JavaScript库时一起使用CoffeeScript和Node.js的最佳方法?

时间:2012-04-08 22:58:50

标签: javascript node.js coffeescript client-side

我正在编写一个javascript库,并且想要使用CoffeeScript的强大功能来保持代码在编写时干净,但我还想使用Node这样的东西主要用于require功能。我们的想法是将我的子对象命名为全局对象,并在自己的文件中定义每个子对象以便于开发。

也许我会以错误的方式解决这个问题,我只需要一个干净的方法来编写一个带有CoffeeScript的客户端JavaScript库?

谢谢!下面的示例文件结构......

./ twtmore.coffee

twtmore =
    a: require('./twtmore/a.coffee').a
    b: require('./twtmore/b.coffee').b
    c: require('./twtmore/c.coffee').c

./ twtmore / a.coffee

class a
    ...

exports.a = a

2 个答案:

答案 0 :(得分:4)

是的,你是以错误的方式解决这个问题。 Node.js是服务器端技术。您正在寻找的是在浏览器上使用咖啡脚本中的RequireJSCommonJS模块(节点使用的模块)。

有一个使用CoffeeScript with RequireJS的插件,似乎可以做你想要的但是我还没有使用它,也无法保证它。

答案 1 :(得分:0)

浏览器的CommonJS

至于使用node.js编写客户端JavaScript库,只需使用modul8或browserify将其编译为单个JavaScript文件。

的CoffeeScript

如果你重视使用你的图书馆的人,那么不,不要这样做。

JavaScript社区会讨厌你发布一个开源的javascript库,其源代码是用CoffeeScript编写的

<aside> CoffeeScript是一种可怕的语言</aside>

严重但是

  • 你会失去知名度,因为人们完全拒绝使用你的代码,因为它不是javascript
  • 由于CoffeeScript不可读,人们不会修补或阅读
  • you're fragmenting the community