gpt4 book ai didi

angularjs - 我应该将 Angularjs 文件保存在我的 Web 应用程序中的什么位置,我应该如何构建我的路由和资源?

转载 作者:行者123 更新时间:2023-12-01 03:46:59 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。




Improve this question




我正在使用 Laravel 构建一个 RESTful Web 服务,并在前端使用 Angluarjs 构建一个单页应用程序。现在我应该在哪里放置 Angularjs 文件?我应该将它们放在 Laravel 安装的公用文件夹中,还是应该将它们完全分开,因为我将调用 Web 服务中的资源,它会返回 JSON 数据,因此不需要它们同一个地方。标准或最佳做法是什么?

现在,对于第二部分。如果我正在构建一个简单的 Todo 应用程序,我应该如何在 Laravel 中管理我的路由和资源。这是我真正感到困惑的地方,有点难以解释,但请陪我一分钟。例如,我在/users 有一个用户资源,我可以通过在/users 发出 GET 请求来获取所有用户,或者通过在/users 发出 POST 请求来创建新用户。同样,我可以在/users/1 发出 GET 请求并获取第一个用户,依此类推,并使用其他请求动词。现在,我有另一个资源,称为任务。我应该如何实现这个资源?我应该像嵌套资源说/users/{user_id}/tasks 那样实现它吗?当我在/users/1/tasks 发出 GET 请求时,它将获取第一个用户的所有任务。但是现在它变得复杂了,因为如果在/users/10/tasks/1 发出 GET 请求,它是否应该为第 10 个用户获取第一个任务。但是这样一个逻辑的实现变得非常困难,因为我必须寻找第 10 个用户的第一个任务。

我想出了一个解决方法,只在/users/{user_id}/tasks 设置一个 GET 路由,这显然会返回指定用户的所有任务。然后我会创建一个完全不同的资源/任务来处理所有其他请求动词。我这样做对吗?

还有,如果我使用像 MongoDB 这样的 NoSQL DB,在这种情况下,数据将以/users/{user_id}/tasks/{task_id} 的方式存储,因为每个用户的任务都不难实现将在他们自己的 JSON 对象中。

我在思考正确的方向吗?我是新手,我不完全知道解决此类数据库架构问题的标准方法是什么?最佳实践是什么?

最佳答案

这是我的建议。

基本上,您需要将应用程序划分为模块。例如说登录、功能 1、功能 2 等。现在您应该为每个模块创建一个文件夹,您可以在其中保存与其相关的所有文件(controllers.js、services.js、index.html、style.css、filters.js 和 [name of module].js) 这样你就可以分离所有的代码,这使得移动你的代码成为可能。

您可以将模块定义为:

(function () {
'use strict';
angular
.module('myapp.login', [
'myapp.login.controllers',
'myapp.login.services'
]);
}());

你需要把它包含在 app.js 中,像这样
angular
.module('myapp', [ 'ngRoute',
'ngResource',
'myapp.login'
])

这样您就可以添加所有模块。

您想要包含的另一个重要文件夹是 common 文件夹。您可以在其中包含应用程序中可能拥有的所有可重用组件的模块。

对于测试,您可以有一个单独的测试文件夹,其中包含(e2e 和单元文件夹)。我一直在使用 cucumber 进行测试,并创建了 features文件夹,我在其中为我定义功能的每个模块创建文件夹。您也可以创建一个名为 steps 的文件夹您可以在其中为每个模块创建单独的 js 文件。

最重要的是,您可以拥有配置文件,您可以在其中为所有 api 创建变量,以便您可以从一个地方控制它。

希望这可以帮助 :)

关于angularjs - 我应该将 Angularjs 文件保存在我的 Web 应用程序中的什么位置,我应该如何构建我的路由和资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140235/

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