我想尝试一下 Angularjs。然而,我一直难以决定应该将我的角度应用程序放在哪里。
我使用 Rails 框架作为后端。我看过教程,其中整个角度应用程序都位于 asset/javascript 文件夹下。
我想知道是否可以让它完全位于我的rails 目录之外,而不是位于assets/javascript 文件夹中。这样,我就可以完全分离后端和前端。 (这是推荐的吗?)。
我相信资产管道还预编译了很多资产。如果我要分离出 angularjs 资产,我是否需要以某种方式预编译这些资产?
Thanks
我一直在解决一系列类似的问题。有一些很好的工具可以让你将 AngularJS 直接集成到你的 Rails 资产管道中,如果你只想要一点点 Angular,它们对我来说看起来不错。
但是,如果您想要一个完整的 Angular 前端(又名单页 Web 应用程序),我认为您最终会受到兼容性和某些工具的限制。我觉得 Rails gem 无法完全跟上 Angular,因此您会遇到版本冲突。我还看到越来越多的 Angular 独立工具,我非常喜欢ng-样板 https://github.com/ngbp/ng-boilerplate项目模板。我也喜欢很多测试工具,例如 karma,但我还没有真正找到将 karma 与 Rails 集成的方法。
出于这个原因,我最终决定将两者分开。最初,我通过创建一个 Rails 应用程序和一个单独的 Angular 应用程序(单独的目录)来做到这一点。我使用 ng-boilerplate 作为角度端的框架。我写了一个教程 http://technpol.wordpress.com/2013/09/03/angularjs-and-rails-tutorial-index/。这最终有点令人沮丧,我写了还有一些想法 http://technpol.wordpress.com/2013/09/14/angularjs-and-rails-shared-directory-or-not/,主要的烦恼是我有两个 git 存储库,并且让它们保持同步很烦人。跨两个目录使用 IDE 也有点烦人。我最终转向了 Rails 和 Angular 位于同一个文件夹中,它们似乎运行良好,因为每个项目都在该项目中使用不同的目录。
在当前的结构中,我使用 ng-boilerplate 附带的 grunt 设置来缩小所有代码、打包并运行 karma 单元测试。我还没有完成端到端测试,但它在我的清单上。我发现这是一个相对高效的工作环境。我为页面、控制器和业力测试用例选择的结构有一些重复的代码(我选择不将其分解以保持可读性)。我计划扩展 Rails 脚手架生成器来为我创建 javascript 框架 - 因此,当我创建一个人的 Rails 脚手架时,它也会为我创建一个人的 AngularJS 脚手架。如果我完成这项工作,我会在这里更新。
编辑:我也完成了脚手架工作,它允许 Rails 在生成 Rails 模型/控制器等时自动生成 AngularJS 元素。博客文章在这里:http://technpol.wordpress.com/2013/09/24/rails-generator-to-generate-angular-views/ http://technpol.wordpress.com/2013/09/24/rails-generator-to-generate-angular-views/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)