我正在开发一个非常大的节点 Web 应用程序,并意识到我的工作流程不是最理想的。服务器端代码被很好地组织成节点模块。然而,应用程序中的大部分繁重工作都发生在客户端代码上。
该项目由jade、less 和javascript/coffeescript 代码组成。此外,还有许多来自库(jQuery、D3、Bootstrap 等)的 css/js 包含。我正在寻找但很难找到的是一个很好的工具链,它可以帮助我组织我的项目并在开发和生产之间切换:
开发模式:在node中即时编译jade、less和coffeescript,无需重新编译。将编译后的代码作为单独的文件包含在 html 中。在服务器端代码中设置一些调试参数。
生产模式:一个编译脚本(make/ant),将代码压缩并组合成静态的html/css/js。
目前,我正在手动使用一些用于开发的节点服务器代码和用于生产的 make 文件,例如:
cat javascript/*.js > build/client.js
然而,这有点烦人,我根本不是制造/蚂蚁专家。还有一个问题是我为开发和生产维护单独的 html 文件,因为它们包含不同的 css/js 文件。
是否有任何好的框架或示例项目可以帮助我改进我的工作流程?Google 给了我诸如hem、buildr.npm、grunt之类的东西,但我不太确定这些项目有多成熟,以及它们是否真的解决了我的问题或增加了更多复杂性。