需要帮助来概括角度模块名称,
angular.module('my-old-name-app', [])
我在大约100多个控制器文件中使用它
现在我想将模块名称从 my-old-name-app 更改为 my-new-name-app ,因此我必须在所有文件中手动进行更改。
我们有什么办法可以避免这种情况吗?
我们可以有一个共同的模块名称全局声明,并在所有文件中重复使用吗?
我试过但找不到合适的解决办法
注意:因为它是一个现有的项目。我不能重组/重新设计。
答案 0 :(得分:0)
我在大约100多个控制器文件中使用它。
所以不要在所有你的控制器中使用它。无论如何,如果以更模块化的方式设计应用程序,则可以避免此问题。建议的方法是按应用程序将应用程序拆分为多个模块。然后,您要重命名的主模块将仅在一个位置使用。然后应用程序的定义可能是这样的:
angular.module('mu-old-name-app', [
'app.dashboard',
'app.profile',
// ...
]);
然后模块app.dashboard
将包括相应的控制器,服务等。模块app.profile
将包括它自己的东西等。
答案 1 :(得分:0)
避免在angularjs应用程序中使用全局变量,有一个非常好且干净的style-guide made from J. Papa。
当然,如果您需要修改整个应用程序,则需要在每个使用它的文件中搜索并替换旧的模块名称。
构建angularjs应用程序的一个好方法是使用多个模块, 给出博客的例子。博客通常由以下组件组成:
现在,您有很多方法来构建您的应用程序,简单的方法是使用一个名为博客的模块并将其附加到每个组件,但是,如果将来重构,您会感到沮丧
一个好的解决方案是分割您的应用程序,为每个组件创建一个模块:
angular
.module('blog.dashboard')
;
angular
.module('blog.about')
;
angular
.module('blog.contacts')
;
angular
.module('blog', [
'blog.dashboard',
'blog.about',
'blog.contacts'
])
;