我正在开发AngularJS前端和Rails API后端Web应用程序。现在该上线了,因此我在Amazon Medium EC2实例中进行了部署。当我看到性能(至少在主页上)不如预期时感到惊讶。因此,我开始研究如何改善性能。
我进行了一些性能测试,并使用Chrome分析工具检查了结果。我看到发送到服务器以获取js或css资源的请求存在很大的延迟。
我写了另一篇文章,有人确认:
AWS EC2 micro and medium instances with same performance?
我有很多js文件,因为我的应用控制器分散在多个文件中。或多或少的CSS。
我读过您可以将js和css文件放入Rails应用程序的assets文件夹中,并且可以管道化(全部压缩)。这样可以提高性能。我的问题是我的AngularJS和Rails应用程序完全分开了(没有集成在一起)。因此,我可以将每个部署在不同的位置。
我以为这样开发应用程序真是太酷了,但是现在,我对此非常担忧。
有什么解决办法吗?我可以将控制器和CSS移动到Rails中的资产吗?还是在AngularJS中有任何类似的工具用于流水线或压缩文件?
我应该在一个应用程序中同时集成AngularJS前端和Rails后端吗?
最佳答案
有很多工具可以实现与Rails资产管道相同的建筑管道
仅使用js环境。
一种解决方案是使用grunt作为构建工具,bower作为包管理器。
Grunt有大量的构建任务,例如预处理sass和coffescript以及缩小和压缩css和js文件。
设置这种环境的最简单方法是使用Yeoman。它具有适用于包括Angular在内的不同框架的生成器。
您只需生成一个新的Angular项目并查看将要创建的项目,然后复制Gruntfile并使您的项目结构适应所生成的项目即可。
关于javascript - AngularJS和Rails性能问题(更好地集成或分开)-JS和CSS Assets 管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24171207/