gpt4 book ai didi

angularjs - Laravel 和 AngularJS View 结构

转载 作者:行者123 更新时间:2023-12-04 02:50:27 25 4
gpt4 key购买 nike

我最近开始研究 angularjs,对我的新项目有很大帮助,但我坚持使用 View 结构部分。

所以我真正不明白的是,如何建立它。
如果我创建 html Angular 部分而不创建 laravel View 可以吗,所以 laravel 只会处理数据库 instert fecth edit delete,而 Angular 部分 View 将处理结果显示和表单。

所以我的壮举看起来像这样。
我的 Assets 文件夹

/css
/img
/js
/lib
/partials
/home
index.html
/users
users.html
details.html

并创建 restful controllers对他们来说上面列出的句柄

或者,如果有人可以向我展示一个基本的例子,只是 Controller 和 View 部分,如何建立一个显示结果的单个页面,以及一个通过 id 抓取的页面,我将不胜感激。

谢谢

最佳答案

在启动 Laravel 和 AngularJS 项目时,你负责后端和前端。基本上你有3个选择。

  • 将整个应用程序保存在同一个文件夹中,并将 angularjs 内容保存在公共(public)文件夹中。
  • 将整个应用程序保存在同一个文件夹中,并将 AngularJS View 保存在 laravel View 文件夹中。
  • 完全分离你的后端和前端。

  • 第一个和第二个选项是最简单的,如果您有一个中小型应用程序,则可以。在这种情况下,只需将所有 AngularJS 文件保存在 public 文件夹中,或者如果您选择将它们与 laravel View 混合,只需删除 .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 保存在同一个文件中。这完全取决于你。当应用程序增长时分离,并始终重构。

    如果您选择第三个选项,您将不得不稍微自定义后端。这可能是最难的选择,但它也为您提供了极大的灵 active 。基本上你可以把 laravel 放在一起,然后在 node.js 中构建后端,或者使用 laravel 作为另一个用 Ember.js 编写的 SPA 应用程序的后端,而无需对代码进行任何更改。请注意,如果您选择此选项,您将无法使用一些 laravel 的东西,例如 Blade 模板。您还必须为 CORS 设置您的 laravel 应用程序,并注意,在安全性方面可能会有更多编码,例如 CSRF token 等。

    使用您的应用程序进行生产时,您可以使用构建工具将前端应用程序最小化并合并到一个文件中。结帐 ng-min用于缩小。

    关于angularjs - Laravel 和 AngularJS View 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606382/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com