Laravel&AngularJSプロジェクトを開始するときは、バックエンドとフロントエンドを担当します。基本的に3つのオプションがあります。
- アプリ全体を同じフォルダーに保持し、angularjsのものをパブリックフォルダーに保持します。
- アプリ全体を同じフォルダーに保持し、AngularJSビューをlaravelビューフォルダーに保持します。
- バックエンドとフロントエンドを完全に分離します。
最初と2番目のオプションは最も単純で、中小規模のアプリケーションの場合は問題ありません。この場合、すべてのAngularJSファイルをパブリックフォルダーに保持するか、それらをlaravelビューと混合することを選択した場合は、.blade拡張子をドロップする(またはlaravelblade / anglejsテンプレート構文を変更する)だけです。
SPAアプリを実行するときは、バックエンドをできるだけ落ち着かせておくのが最善だと思います。ポイントは、ロジックをブラウザーにプッシュすることです。これは、phpとjsを混ぜすぎると、アプリが混乱する可能性があることを意味します。
フォルダ構造は完全にあなた次第であり、どのオプションを選択するかは問題ではありません。しかし、良いスタートは、アプリを論理的な部分に分割することです。
/app
application.js
/partials
user.html
login.html
etc.html
/vendor
Angular.js
Lodash.js
Etc.js
/controllers
User.js
Etc.js
/directives
Charts.js
Etc.js
/filters
Custom.js
Etc.js
/services
Backend.js
Etc.js
また、これをチェックして、優れたangularjsスタイルガイドを確認することもできます。
上記は基本的なフォルダ構造です。最もよく見えるようにカスタマイズしてください。小さなアプリをお持ちの場合は、フォルダーを削除して、controllers.js directives.js and services.js (etc)
すべてのJavaScriptを同じファイルに保存することができます。これは完全にあなた次第です。アプリケーションが大きくなったときに分離し、常にリファクタリングします。
3番目のオプションを選択した場合は、バックエンドを少しカスタマイズする必要があります。これは最も難しいオプションかもしれませんが、柔軟性もあります。基本的に、laravelをすべて一緒にドロップして、node.jsでバックエンドを構築するか、コードを変更せずに、Ember.jsで記述された別のSPAアプリのバックエンドとしてlaravelを使用できます。このオプションを選択している場合は、ブレードテンプレートなどの一部のlaravelのものを使用できないことに注意してください。また、CORS用にlaravelアプリをセットアップする必要があります。また、セキュリティに関しては、CSRFトークンなどのコーディングがさらに増える可能性があることに注意してください。
アプリを使用して本番環境に移行する場合、ビルドツールを使用して、フロントエンドアプリを1つのファイルに最小化および連結できます。縮小化のためにng-minをチェックアウトします。