【问题标题】:How to structure large AngularJS applications如何构建大型 AngularJS 应用程序
【发布时间】:2014-07-16 14:10:51
【问题描述】:

我有一个使用 AngularJS 构建的网络应用程序。它已经积累了 500 行代码,要梳理一遍是相当大的负担。我想知道我是否可以将逻辑分解为多个文件,但仍然能够与一些 $scope 变量进行交互。任何有关此主题的资源将不胜感激。

例如:我有一堆逻辑处理由 ng-repeat 生成的表,不需要与我使用 Canvas.JS 生成的图表中的代码进行交互

【问题讨论】:

  • 全球 500 行代码对于 AngularJS 应用来说听起来并不多。
  • @LorenzoMarcon 我组织中的其他人很难在时间紧迫时“过来”帮助我,而且如果可行,我想实施最佳实践。
  • 我为不同类型的构造使用不同的文件夹,例如,我将为以下每种构造使用一个文件夹:指令、控制器、服务和脚本。 scripts 用于外部包含的模块和 angular.js 本身,其他三个是不言自明的。然后,在每个文件夹中,我都有一个用于应用程序不同部分的单独文件。我使用 grunt 来合并/缩小所有文件并发布到构建文件夹。
  • @SleepDeprivedBulbasaur 我知道,我并不是故意不愉快.. 但如果您(或您的同事)的代码在 500 行之后变得凌乱,也许您需要重构/重新设计项目结构首先,这是你的目的如果我做对了。以下答案中的链接肯定会对您有所帮助

标签: javascript angularjs program-structure


【解决方案1】:
【解决方案2】:

您是否在一个控制器中编写了所有应用程序?

我会考虑:

  • 拥有一个瘦控制器(仅公开所需的范围内容,并从服务中获取内容)。

  • 实现服务(工厂),在这个工厂中,您可以例如封装您的 $http 请求以获取您想要显示的数据。

  • 实施指令:例如如果你正在构建一个通用图表,你可以将它封装在一个指令中(它就像一个控件),更易于维护和重用。

一旦你有了这个,我就会跳入达尼洛的好建议。

【讨论】:

  • 是的,我在一个控制器中编写了所有内容。谢谢!
【解决方案3】:

另一个可能对您有帮助的链接:

这是一个使用 RequireJS 的解决方案,可以将应用程序划分为多个模块,这些模块可以非常容易地连接在一起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2012-07-02
    • 2015-01-14
    • 2015-02-18
    • 1970-01-01
    相关资源
    最近更新 更多