我有一个web应用程序,我在AngularJS构建。它已经累积了500行代码,对所有代码进行排序是相当繁重的工作。我想知道我是否有可能将逻辑分解为多个文件,但仍然能够与一些$scope变量进行交互。关于这个主题的任何资源将不胜感激。
示例:我有一堆逻辑处理由ng-repeat生成的表,不需要与我使用Canvas.JS生成的图形代码交互
这些文章可能会对您有所帮助:
- http://briantford.com/blog/huuuuuge-angular-apps
- http://cliffmeyers.com/blog/2013/4/21/code-organization-angularjs-javascript
也看这个答案。
我主要选择模块化方法
你是否在一个控制器中编写了所有应用程序?
我会考虑:
-
拥有一个瘦控制器(只暴露所需的作用域内容,并从服务中抓取内容)
-
实现服务(工厂),在这个工厂中,你可以封装你的$http请求来获得你想要显示的数据。
-
实现指令:例如,如果你正在构建一个公共图表,你可以将它封装在一个指令中(它就像一个控件),更容易维护和重用
一旦你有了这个,我就会跳到Danilo很棒的建议
另一个可能对您有所帮助的链接:
- http://leog.me/log/large-angularjs-app-components
这是一个关于用RequireJS将应用程序划分为多个模块的解决方案,这些模块可以很容易地连接在一起。