node.js - 构建工具 : Coffeescript/Node project with mu

我正在工作中开始一个项目,想知道最好使用的构建工具是什么。

整个过程都是用 CoffeeScript 编写的,客户端使用 AngularJS,服务器使用 NodeJS。

应用程序有几个组件:

  • 一款 iPad 应用
  • 一个 iPhone 应用(与 ipad 不同的功能)
  • 应用的 CMS
  • NodeJS 服务器

所有这些之间有大量共享代码,同样都是用 CoffeeScript 编写的。

我想要一个构建工具,我可以在其中列出哪个应用程序使用了哪些代码(其中大部分是共享的),并且它将每个应用程序的 javascript 文件构建到一个单独的文件夹中。

例如,我会设置一个名为“/compiled/ipad/”的文件夹,其中包含 index.html,以及 js、css、img 等文件夹。我会列出我想要放入/compiled/的已编译咖啡文件ipad/js(其中一些来自/src/shared/*.coffee,一些来自/src/ipad/*.coffee 等)以及我想要放入/compiled/ipad/css 的文件。我也希望它能够轻松地连接我想要的文件。

它还会将我的测试从/src/test/ipad 编译成/compiled/test/ipad/*.js。

我所有的客户端单元测试都是使用 testacular 编写的而且我还不确定我会用什么来编写服务器端单元测试。

什么构建工具/配置是这里最好的方法?生成文件?像咕噜一样的东西?老实说,我对整个构建场景都很陌生。

edit:决定使用 Browserify。您可以在此处找到我的解决方案以使其与 Angular 一起使用:https://groups.google.com/forum/#!topic/angular/ytoVaikOcCs

最佳答案

我个人认为,用 javascript 或 coffeescript 编写服务器端代码的动力也延伸到了您的构建工具链:所以也坚持使用 javascript/coffeescript。这将允许您从构建工具轻松地自动化您的服务器/客户端任务 - 我怀疑使用像 make 之类的另一个工具是否有意义(您只是在 node.js 命令调用周围编写包装器)。建议,按结构化排序:

  • node.js :只需在 javascript 中滚动构建脚本,然后使用 node.js 调用它们。我想类似于 shell 脚本。我不推荐这条路线。
  • jake或 cake : 我来自java世界,所以这些让我想起了 Ant 也就不足为奇了。我更喜欢coffeescript,因此更喜欢蛋糕。
  • grunt : 我以前没听说过,所以我不能提供太多建议。它让我想起了 maven,当然……我只能说……构建工具倾向于强制执行的结构越多,它的灵 active 就越低。它是一种权衡。只要您以“构建工具”的方式进行操作,就可以节省大量时间。但是,如果您有特定于应用的问题,那么要解决它可能是一件非常痛苦的事情。

当然,您可以使用其他一些您已经熟悉的其他语言的构建工具:rake、maven、ant、gradle 等。

关于node.js - 构建工具 : Coffeescript/Node project with multiple components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10689182/

相关文章:

eclipse - 您知道 *latest* eclipse 组件的更新站点地址吗?

maven-2 - 使用 maven-assembly-plugin 构建一个 jar 并将其包含在

r - 在 RStudio 中构建包时如何解决 Rd 警告 "missing file link"?

build - Leiningen 在构建工作 uberjar 时遇到问题

Android - 测试版与生产版

build - 如何在 MultiJob 插件中传递内部版本号?

vim - 在vim中设置一个 "build directory"?

javascript - SystemJS 和 CommonJS 有什么区别

build - 什么是有用的分支版本控制策略?

plugins - Jenkins 插件基于控制台输出失败构建