0

我有一个 CoffeeScript 项目(称为 jAddressParser),我希望将其变成可重用的模块。不幸的是,我不太熟悉如何为这样的目的模块化 CoffeeScript,同时保持与现有项目的合理互操作性。

有问题的项目解析地址字符串-可以肯定的是,没有短顺序。但是,出于我正在从事的项目的目的,这种策略应该有效,并且其他人可能会从中受益,也许其他人可能会做出一些有用的贡献。每个人都赢了!

所以我所拥有的是在这样的目录中布局的代码:

/
  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我的 Web 项目中。

  4. 通过适当的调用将 jAddressParser 包含在我的 Web 项目中requirejs(即它可以支持 AMD),例如require(['jAddressParser'], -> ...)

由于似乎我必须包含依赖项(lodash、requirejs、require-cs、XRegExp、CoffeeScript),我希望我可以通过将特定版本放在/lib目录中或使用 git 子模块来做到这一点(尽管子模块似乎有点矫枉过正对于这么小的项目)。

我从未创建过可重用的 CoffeeScript 模块,而且我基本上无法找到关于如何为 web 模块执行相同操作的良好参考(对于仅限 node.js 的项目似乎有一些不错的示例 - 以为我肯定会很想看到更多的列表)。如果您有任何想法或参考资料可以阐明上述提案的可行性,或者您自己如何组织这样的项目,我将不胜感激?

4

0 回答 0