7

私はRuby on Railsアプリケーションを作成していますが、私はフロントエンドでAngularJSを使いたいと思います。 私はフロントエンド用(hereから)次のファイル構造を使用することを計画しています:Ruby on RailsとAngularJSを統合する最もクリーンな方法は何ですか?

1 - 私は私の全体の角度アプリが資産を通過したいと思います:

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 

私は三つの主要な懸念を持っていますRuby on Railsのパイプライニング機能

2 - 私の角型アプリケーションの構造を壊し、ファイルを対応するRailsアセットフォルダに移動したくない。

3 - javascriptファイルのみで構成されているわけではないので、私のアプリケーションはassets/javascriptsフォルダに入れたくありません。

Ruby on Railsアプリケーションとこの構造を統合する最もクリーンな方法は何ですか?

+0

私はアプローチが、このリンクに続くように:https://www.angularonrails.com/getting angle-with-angle-and-rails /フロントエンドの宝石は必要ありません。ハックはなく、2つのテクノロジー間のAPIコールをクリアするだけです。 – Donato

答えて

5

私はいくつかの研究を行った。 AngularJSをRuby on Railsに統合する最もクリーンな方法は、実際にはRuby on Railsアプリケーションのコンテキストでそれらを統合しないことです。 @Minhailが示唆しているように、それらを完全に分離しておくのが最善です。

ブラッド・カールトンがthis articleで示唆したよう:

一つの欠点プロジェクト全体でのRails、Djangoの、またはMVCのような 今日のモンスターのフレームワークの1つにきちんと隠れ有することに、それは のために非常に困難になる可能性があることですフロントエンドの開発者がプロ​​ジェクトに取り組んでいます。

熟練したRubyデベロッパーがrvmをセットアップするのは簡単かもしれませんが、gem はすべてのルビ依存関係をインストールし、ネイティブ拡張を処理し、 クロスプラットフォームの問題をインストールします。これらのことは、おそらくあなたの フロントエンド開発者にとって最適なものではありません。

また、フロントエンドを作る本物のファーストクラスのアプリケーション と確保促進:その後、彼はより良いアーキテクチャは、フロントエンドを維持し、バックエンド完全に区切らをするだろうことを示唆している記事の

それは本当に堅牢です。うまくいけば、フロントエンド 開発者は、 バックエンドがダウンしたときに避けられないシナリオをコードすることを奨励されます。

言うことは何より良いユーザーエクスペリエンス、「我々は今、サーバといくつかの問題を 抱えているねえ、後で戻ってみてください」またはより良い「検索 サービスは、現時点では問題を抱えているように見えるが、あなたはまだ あなたのプロフィールと現在のプロジェクトを表示できます。」他の記事here、単一ページのアプリケーションとAPI駆動開発によると

は、これは私が強く、フロントエンドとバックエンドの分離の考え方を奨励考える事実である2015年の2つのWeb開発動向です。

ステップバイステップのチュートリアルでこの偉大な例:

A Complete RESTful Rails-api

An AngularJS Front-End For The Api Above

+1

私はこのリンクに従ったアプローチが好きです:https://www.angularonrails.com/getting-started-with-angular-and-rails/フロントエンドの宝石は必要なく、ハックはなく、2つの技術間のAPIコールをクリアするだけです。 – Donato

1

私は、AngularJSを使用してRuby on Railsアプリケーションを1つ持っています。フィーチャー構造も使用しており、私のファイルはすべて/assets/javascript/です。すべてのjsおよびcssファイルを/config/environments/production.rbに追加して、プロダクション用にプリコンパイルする必要があります。 production.rbの例:

config.assets.precompile += %w{ 
    topbar/topbar-controller.js 
    topbar/topbar-service.js 
    topbar/topbar-directives.js 
    topbar/topbar.css 
    # ... other features 
} 
+0

これも私がしたくないものです。質問を編集しました。そこに説明された。 –

+0

はい、あなたの意見を理解しています。私にも同様の問題がありました。一番きれいな解決策は、1つの残りのapi(あなたのRoRアプリケーション)とAngularJSアプリケーションをレンダリングできる1つのnode.jsアプリの2つのアプリケーションを持つことです。 –

+0

良い点!しかし、私はRuby on Railsの1つのWebアプリケーションでこれをすべて実行する方法を探しています。 –

関連する問題