这里的 Boilerplate 主要是指各类预先定义好的前端模板,或者可以用来生成前端模板的 app。如:
https://github.com/h5bp/html5-boilerplate https://github.com/backbone-boilerplate/backbone-boilerplate https://github.com/brunch/brunch/ https://github.com/yeoman/yeoman etc.
由于这些是后端独立的,所以很难直接和后端的 Rails App 直接整合到一起(前两个要简单些,后面两个可能不太方便)。
我现在知道的方法是,如果想同时使用上面的各类 Boilerplate 以及 Rails App(就是前端和后端分两个项目开发,但一起使用),可以采用下面的方法。
开发时:可以将使用 Boilerplate 的前端部分,在每次 build 的时候,将后端需要的内容(Javascript、Css)link 到 Rails 项目中,不用前端 Boilerplate server(经常是 node),直接用后端 Rails 的服务器(Thin、Webrick)。
部署时:将前端的部分直接放到 Nginx 的 www 下,直接作为静态文件来服务,Ruby Sever 的部分还是像平常一样设置。
至于 Asset Pipeline 的问题怎么处理我也没想好。
我想比较常见的使用这些 Boilerplate 的时候是前后端完全解耦,后端仅作 API,这样就不需要将前后整合到一起了,分开开发也没问题。我这里想讨论的问题是在不将前后端完全分开的情况下,在开发 Rails App 的时候可以方便的时候上面的 Boilerplate 来实现前端的内容。
这里有个例子可以参考:
前端部分:https://github.com/paulmillr/ostio 后端部分:https://github.com/paulmillr/ostio-api