如何设置可重用的模块化CoffeeScript项目

时间:2012-10-26 20:21:35

标签: node.js coffeescript requirejs amd javascript

我有a CoffeeScript project (called jAddressParser)我希望变成可重复使用的模块。不幸的是,我并不太熟悉如何为了这样的目的模块化CoffeeScript,同时保持与现有项目的合理互操作性。

project in question parses address strings - no short order,确定无疑。然而,出于我正在研究的项目的目的,这个策略应该有效,并且其他人可能从中受益,也许其他人可能会做出一些有用的贡献。每个人都赢了!

所以我所拥有的代码就是这样的目录:

/
  README.md
  LICENSE
  package.json
  /src
    main.js
    main.coffee
    canada.coffee
    iso3166.js
  /test
  /build

在理想的世界中,我的工作流程将是这样的:

  1. 从命令行测试上面的javascript。我认为Node.js是最合适的方式。

  2. /src中的文件编译为/build/jAddressParser.js文件。我认为r.js对此很有用。

  3. 完成所有操作后,将jAddressParser.js/build复制到我的网络项目。

  4. 在我的网络项目中包含jAddressParser并进行相应的requirejs调用(即,它可以支持AMD),例如require(['jAddressParser'], -> ...)

  5. 因为看起来我必须包含依赖项(lodash,requirejs,require-cs,XRegExp,CoffeeScript),我希望我会通过在/lib目录中放置特定版本或使用git子模块来实现这一点(尽管对于这样一个小项目来说,子模块看起来有点过分了。)

    我从来没有创建过可重复使用的CoffeeScript模块,而且我基本上无法找到关于如何为web模块执行相同操作的良好参考(对于只有node.js的项目,似乎有一些不错的示例 - 以为我一定会喜欢看到更多的清单)。我会非常感谢任何有关上述提案可行性的想法或参考,或者你自己如何组织这样一个项目?

0 个答案:

没有答案