Node.js 如何建立可重用的模块化CoffeeScript项目

Node.js 如何建立可重用的模块化CoffeeScript项目,node.js,coffeescript,requirejs,amd,javascript,Node.js,Coffeescript,Requirejs,Amd,Javascript,我有一个我希望变成可重用的模块。不幸的是,我不太熟悉如何为这样的目的模块化CoffeeScript,同时保持与现有项目的合理互操作性 可以肯定的是。然而,就我正在从事的项目而言,这一战略应该有效,其他人可能会从中受益,也许其他人也会做出一些有益的贡献。人人都赢 因此,我将代码放在如下目录中: / README.md LICENSE package.json /src main.js main.coffee canada.coffee iso3166

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

可以肯定的是。然而,就我正在从事的项目而言,这一战略应该有效,其他人可能会从中受益,也许其他人也会做出一些有益的贡献。人人都赢

因此,我将代码放在如下目录中:

/
  README.md
  LICENSE
  package.json
  /src
    main.js
    main.coffee
    canada.coffee
    iso3166.js
  /test
  /build
在理想情况下,我的工作流程如下:

/
  README.md
  LICENSE
  package.json
  /src
    main.js
    main.coffee
    canada.coffee
    iso3166.js
  /test
  /build
  • 从命令行测试上述javascript。我认为这是最合适的方式

  • /src
    中的文件编译为
    /build/jAddressParser.js
    文件。我认为这样做很有效

  • 一切就绪后,将
    /build
    中的
    jAddressParser.js
    复制到我的web项目中

  • 在我的web项目中使用适当的
    requirejs
    调用(即它将准备好AMD)包括jAddressParser,例如
    require(['jAddressParser'],->…)

  • 因为我似乎必须包含依赖项(lodash、requirejs、require cs、XRegExp、CoffeeScript),所以我希望通过将特定版本放在
    /lib
    目录或使用git子模块来实现这一点(尽管对于这样一个小项目来说,子模块似乎有点过分)


    我从来没有创建过一个可重用的CoffeeScript模块,而且我基本上找不到一个关于如何为web模块执行相同操作的好参考(似乎有一些仅适用于node.js的项目的不错的例子——我当然希望看到更多的例子)。如果您有任何想法或参考资料可以说明上述提案的可行性,或者您自己如何组织这样一个项目,我将不胜感激。

    也许我对这个问题的回答会有所帮助。@DavidWeldon:这是一个有用的指南。我已经做了,但是没有。