加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 构建Rails和Angular应用程序

发布时间:2020-12-17 17:21:17 所属栏目:安全 来源:网络整理
导读:我想使用Rails 4和Angular和Capistrano构建一个新的单页面应用程序来进行部署. 我希望所有前端都是Amazon S3上的静态应用程序,但我对其他建议持开放态度. 对我来说重要的是一个快速发展的过程,能够轻松扩展. 我想知道我应该使用的最佳结构是什么: 将所有资
我想使用Rails 4和Angular和Capistrano构建一个新的单页面应用程序来进行部署.
我希望所有前端都是Amazon S3上的静态应用程序,但我对其他建议持开放态度.
对我来说重要的是一个快速发展的过程,能够轻松扩展.

我想知道我应该使用的最佳结构是什么:

>将所有资产保留在app / assets中,并将Bower路径设置为vender目录.
这样我就可以使用rails预编译方法并享受index.html的Rails html标签,但我确信它很容易上传到S3并保持分离.
>将所有资产(包括Bower组件)保存在公共/应用程序目录中,这将使其保持为完整的单独应用程序,但随后我需要使用Grunt或任何其他服务来预编译资产.
>还有其他想法吗?

解决方法

根据我的经验,我发现这种方法非常有效:

> API应用程序(Rails / Sinatra / Grape / Node /等)仅提供JSON API.部署到服务器,比如api.yourapp.com.提供访问控制标头.
>静态网络应用程序:通过与yeoman生成AngularJS,Gulp,Bower应用程序开始.使用gulp aws部署模块到S3进行部署.

没有真正的理由在同一个应用程序中使用视图和api,或者使用相同的技术构建(如在Rails中).

现在有一些问题:

> S3不支持Angular的HTML5模式URL.所以纯粹的S3网站不是一个选择.
> Facebook不会读取不在页面源中的OpenGraph标记.
>无法弄清楚Google / SEO和Angular应用程序的状态.我没有在搜索结果中看到内容.

因此,作为一种解决方案,我介绍了另一个Web服可以基于任何东西 – 纯机架,节点等我选择机架.

解决问题的方法:

> Web服务器应用程序托管在www.yourapp.com上,代理(和缓存)请求到S3.它支持所有URL(html5Mode) – 仅代理index.html.
> OpenGraph元标记 – API有一个端点,它获取对象的URL或ID并返回元标记信息. Web服务器每个URL向API发出一次请求(缓存响应)并将其注入到服务的index.html中.
>搜索引擎优化 – 作为中间件,使用预渲染机架在服务器上呈现页面.

作为奖金 –

今天的大多数应用都有一个目标网页/营销网站和实际应用.有时最好分开维护这些. Web服务器根据cookie知道www.yourapp.com上显示的应用程序 – 实际的应用程序或营销网站.登录 – 在客户端设置cookie并瞧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读