这个可能是一个老式的,但无论如何,我想有很多前端开发人员有智慧。
我尽量不在我的应用程序的主模块中声明插件。
假设我有以下模块化:
子组件模块
(function () {
'use strict';
angular.module('app.modules.table.detail', []);
})();
组件模块
(function () {
'use strict';
angular.module('app.modules.table', [
'app.modules.table.detail'
]);
})();
主应用模块
(function() {
'use strict';
angular.module('app.modules',
[ 'app.modules.table' <----// inside here is the table.detail
,'app.modules.other.component'
]);
angular.module('app', ['app.modules',
'smoothScroll'])
那么,使用这种结构,我可以将 smoothScroll 第三方隐藏在应用程序模块数组之外吗?我只想声明 app.modules,这就是应用程序。
我试图将其作为依赖项包含在组件数组中,但没有运气。我一直在阅读,我想它必须在应用程序上,$injector才能知道他的$provider。
有人搞定了吗?
我会回答自己,因为这比我更容易。
我没有在子组件/组件模块中声明第三方。
子模块组件
(function () {
'use strict';
angular.module('app.modules.table.detail', ['smoothScroll']); <-- HERE!
})();
父模块组件
(function () {
'use strict';
angular.module('app.modules.table', ['app.modules.table.detail', 'smoothScroll' <--- ALSO HERE
]);
})();
所以现在我可以引导应用程序,而无需在主模块上声明第三方。因此,它从主应用程序模块文件中隐藏