我正在创建一个Ruby on Rails应用程序,我想在前端使用AngularJS.我打算在前端使用以下文件结构(从这里开始):
angularapp/ ----- shared/ // acts as reusable components or partials of our site ---------- sidebar/ --------------- sidebarDirective.js --------------- sidebarView.html ---------- article/ --------------- articleDirective.js --------------- articleView.html ----- components/ // each component is treated as a mini Angular app ---------- home/ --------------- homeController.js --------------- homeService.js --------------- homeView.html ---------- blog/ --------------- blogController.js --------------- blogService.js --------------- blogView.html ----- app.module.js ----- app.routes.js
我有三个主要问题:
1 - 我希望我的整个角度应用程序能够通过Ruby on Rails的资产流水线功能
2 - 我不想打破我的角度应用程序的结构并将其文件移动到相应的Rails资产文件夹.
3 - 我不想将我的角度应用程序放在assets/javascripts文件夹下,因为它不仅包含javascript文件.
将此结构与Ruby on Rails应用程序集成的最简洁方法是什么?
我做了一些研究.事实证明,将AngularJS与Ruby on Rails集成的最简洁方法是将它们集成到一个Ruby on Rails应用程序的上下文中.相反,最好将它们完全分开,如@Minhail建议的那样.
正如布拉德卡尔顿在本文中所说:
将整个项目整齐地放入当今的Rails,Django或MVC等怪物框架之一的一个缺点是前端开发人员很难处理该项目.
虽然经验丰富的Ruby dev可能很容易设置rvm,但gem会安装所有ruby依赖项,处理本机扩展和跨平台问题.这些东西可能不是您的前端开发人员最适合的.
在文章的后面他建议更好的架构是保持前端和后端完全分离:
它还促进使前端成为真正的一流应用程序,并确保它真正健壮.希望现在鼓励前端开发人员为后端发生故障时不可避免的情况编写代码.
更好的用户体验,"嘿,我们现在在服务器上遇到一些问题,稍后再试"或者更好"搜索服务目前似乎有问题,但您仍然可以查看您的个人资料和目前的项目."
根据这里的另一篇文章,单页应用程序和Api驱动开发是2015年的两个Web开发趋势.我认为这是一个事实,它强烈鼓励前端和后端分离的想法.
这是一个很好的例子,一步一步的演练:
一个完整的RESTful Rails-api
Api上方的AngularJS前端