【问题标题】:One script tag per AngularJS Controller?每个 AngularJS 控制器一个脚本标签?
【发布时间】:2013-02-22 00:31:16
【问题描述】:

刚开始使用 angularjs。这真的很棒。 我想让我的应用程序尽可能模块化。 我的问题:每个 angularjs 控制器(服务等)我应该有一个脚本标签吗? 有没有办法根据需要从服务器加载我的角度控制器(服务等)? Angular以某种方式做到了?我错过了什么吗?

更新

也许我没有说清楚。我希望每个 angularjs 控制器(服务等)有一个 javascript 文件。就像我每个 nodejs 模块服务器端有一个文件一样。

【问题讨论】:

  • “每个 angularjs 控制器(服务等)一个脚本标签”是什么意思?你说的是链接源js文件吗?
  • 是的,我是。假设我的应用有四个控制器。我想把每一个都放在自己的 javascript 文件中:SomeController.js、OtherController.js 等。

标签: javascript angularjs modularity


【解决方案1】:

我建议你以角种子项目为起点。 你可以在Github找到它。

这个项目是一个典型 AngularJS web 的应用程序框架 应用程序。您可以使用它来快速引导您的 angular webapp 项目 和这些项目的开发环境。

这是他们建议为 controllers.js 文件采用的样式:

'use strict';

/* Controllers */

function MyCtrl1() {}
MyCtrl1.$inject = [];


function MyCtrl2() {
}
MyCtrl2.$inject = [];

我还建议将这种方法用于开发环境。您可以在部署到生产环境时压缩和加入文件。

【讨论】:

  • 我实际上不建议这样做,因为您正在使用所有这些控制器污染全局命名空间。此外,您应该按功能对类型进行分组:所以用户(UserCtrl、UserService、UserFilter 等)而不是按类型:控制器、服务
  • 我喜欢 Brian Ford 的方法 (briantford.com/blog/huuuuuge-angular-apps.html),但是当我连接和缩小时,我不会发送到可能不需要的客户端控制器吗?我想根据需要下载包含控制器的文件。或者需要加载的脚本知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多