2017-06-14 191 views
1

对于构建我正在开发的项目的最佳方式,我真的很希望能够成为AngularJS的新成员。AngularJS项目结构

基本上,我有一个项目,我打算在'PEAN'堆栈中说每一个(Postgres,Express,AngularJS,Node),并且需要一个关于它应该如何构造的概念。

它的要点是,应用程序将有4种类型的用户帐户,每个登录用户将看到不同的视图。下面是功能集的简图:

用户类型1:
导航
- 功能1
- 功能2
- 功能3

用户类型2:
导航
- 功能1
- 功能2
- 功能3

等了其他2位用户...

然而,每个用户使用的功能会有所不同。所以我的问题仍然存在,客户端如何将客户端AngularJS应用程序的目录结构化?

另外,应该如何设置存储库?

  1. API和客户端代码的单个回购?
  2. 我可以分开API回购和客户端回购,并在一个客户端回购中包含所有用户帐户视图?
  3. 我应该为每种类型的用户帐户都有一个客户端回购?

回答这些问题会清除很多混乱,并会大大帮助我。我已经对这样的应用程序的正确结构进行了大量研究,似乎无法弄清楚。

提前非常感谢您的协助!

回答

0

我不能说你的项目的架构,但我已经有了MEAN堆栈项目的结构体验(或者在这种情况下是PEAN)。

在这种情况下,我不会将您的项目分成多个回购,让您的所有代码都在一个地方是有帮助的。只要它们一起运行,它应该保持在相同的回购。你应该分开回购时,你的项目没有一起运行,并且确实是两个项目(如iOS应用程序和Web应用程序)

我的基本文件结构通常是这样的:

. 
+-- app/ (all of your angular, dynamic web app code) 
| +-- controllers/ 
| +-- directives/ 
| +-- factories/ 
| +-- views/ 
| +-- templates/ 
| +-- app.js 
+-- server/ (all of your nodejs, server side code) 
| +-- controllers/ 
| +-- models/ 
| +-- routes/ 
+-- public/ (static assets) 
| +-- css/ 
| +-- scripts/ 
| +-- images/ 
+-- index.js (run the project) 
+0

当然这就是我正在考虑它。不过,Angular的'app'文件夹里面呢?应该如何根据4种用户的观点来制定? – zbruno

+0

@zbruno好点,我在我的图中添加了子目录(在学习了如何绘制图表之后) –

+0

哦,你只需要在views /文件夹(在我的结构中)有各种视图。你可以使用app/app.js来渲染一个视图,使用ng-view –

1

我建议你去这里:https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md并按照这里列出的准则。这有点过时了,因为它没有被更新为覆盖组件,但大部分仍然适用。

我还建议您在开始之前跳过控制器并查看组件。

实际上,如果您有选择,因为您刚刚开始使用,所以在使用Angular 4时,我会长期努力,而不是在传统技术中构建新应用程序。

2

文件夹结构因项目而异,因为人们是不同的项目,具有不同的性质。 但是,不管你做什么,你最终会与一些东西约的文件夹结构如下图所示: -

  • 您将需要两个根文件夹,一个用于服务器代码和其它客户端代码。客户端代码文件夹有时也被命名为“app”。

  • 如果你有一个大项目,然后在客户端文件夹里面,你可以创建代表你的项目模块的子文件夹。通常情况下,开发人员会将模块划分为更好的模块,以便这些子文件夹代表这些模块。

  • 在这些模块文件夹中,您可以为组件,模型,模块和路由设置单独的文件夹。

  • 还需要一个常用文件夹,在这里您可以推送普通管道,过滤器,http组件,注射器等常用工具。 服务器文件夹将具有自己的文件夹结构,具体取决于您是在执行ASP.NET还是JSP还是PHP。在这个讨论中,我们将仅限于客户端角文件夹结构。

Angular folder architecture

图片提供:http://computerauthor.blogspot.in/2017/11/what-is-best-project-folder-structure.html