当你开始一个 Laravel 和 AngularJS 项目时,你负责后端和前端。基本上你有 3 个选项。
- 将整个应用程序保存在同一个文件夹中,并将 angularjs 内容保存在公用文件夹中。
- 将整个应用保存在同一个文件夹中,AngularJS 视图保存在 laravel 视图文件夹中。
- 完全分离后端和前端。
第一个和第二个选项是最简单的,如果您有一个中小型应用程序,也可以。在这种情况下,只需将所有 AngularJS 文件保存在 public 文件夹中,或者如果您选择将它们与 laravel 视图混合,只需删除 .blade 扩展名(或更改 laravel Blade/angularjs 模板语法)
我认为在做一个 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
您还可以查看this 以获得良好的 angularjs 样式指南。
以上是一个基本的文件夹结构,你可以根据自己的喜好自定义它。如果您有一个小型应用程序,您可以删除文件夹并只使用 controllers.js directives.js and services.js (etc) 并将所有 javascript 保存在同一个文件中。这完全取决于你。当应用程序增长时分离,并始终重构。
如果您选择第三个选项,您将不得不稍微自定义后端。这可能是最难的选择,但它也为您提供了极大的灵活性。基本上,您可以将 laravel 放在一起,并在 node.js 中构建后端,或者使用 laravel 作为另一个用 Ember.js 编写的 SPA 应用程序的后端,而无需对代码进行任何更改。请注意,如果您选择此选项,您将无法使用一些 laravel 的东西,例如刀片模板。您还必须为 CORS 设置您的 laravel 应用程序,请注意,在安全性方面可能需要更多编码,例如 CSRF 令牌等。
在将您的应用程序投入生产时,您可以使用构建工具将您的前端应用程序最小化并合并到一个文件中。结帐ng-min 进行缩小。