在启动 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
您还可以检查这个以获得良好的 angularjs 样式指南。
以上是一个基本的文件夹结构,你可以根据自己的喜好自定义它。如果您有一个小型应用程序,您可以删除文件夹并只拥有一个controllers.js directives.js and services.js (etc)
并将所有 javascript 保存在同一个文件中。这完全取决于你。当应用程序增长时分离,并始终重构。
如果您选择第三个选项,您将不得不稍微自定义后端。这可能是最难的选择,但它也为您提供了极大的灵活性。基本上你可以把 laravel 放在一起,然后在 node.js 中构建后端,或者使用 laravel 作为另一个用 Ember.js 编写的 SPA 应用程序的后端,而无需对代码进行任何更改。请注意,如果您选择此选项,您将无法使用一些 laravel 的东西,例如刀片模板。您还必须为 CORS 设置您的 laravel 应用程序,并注意,在安全性方面可能会有更多编码,例如 CSRF 令牌等。
使用您的应用程序进行生产时,您可以使用构建工具将前端应用程序最小化并合并到一个文件中。结帐ng-min以进行缩小。