我有一個AngularJS項目,其中有一個shared
目錄,其中有幾個共享組件。AngularJS最佳實踐:組件應該添加到AngularJS模塊
- shared
- index.js
- alert
- index.js
- alert.component.js
- alert.controller.js
- alert.tpl.html
- alert.scss
- logging
- index.js
- logging.component.js
- logging.controller.js
- logging.tpl.html
- logging.scss
該代碼在ES6中以模塊化方式編寫。因此,例如alert.component.js
可能是這樣的:
import controller from './alert.controller'
export const Alert = {
controller,
templateUrl: 'shared/alert/alert.tpl.html'
};
我想有一個AngularJS模塊調用shared
,其中兩個組件定義。我的問題是我應該在什麼層面上定義組件。它應該在組件目錄(shared/alert/index.js
)內還是在共享目錄(shared/index.js
)中。
在第一種情況下,文件shared/alert/index.js
,應該是這樣的:
import { Alert } from './alert.component';
angular.module('shared').component('Alert', Alert);
而在第二種情況下,該文件是這樣的:
export { Alert } from './alert.component';
然後這兩個組件會被定義在shared/index.js
:
import { Alert } from './alert';
angular.module('shared').component('Alert', Alert);
import { Logging } from './logging';
angular.module('shared').component('Logging', Logging);
第一個ca對我來說,se似乎有點奇怪,因爲我有種讓組件自己添加到應用程序中的感覺。然而,在第二種情況下,如果我有很多共享組件,我最終會得到一個巨大的index.js
文件。所以我想知道這些方法各有哪些優缺點,以及是否有最佳做法?
首先我會問「你想通過使用角度模塊實現什麼目標?」 –
@JCFord你能澄清你的意思嗎?如何在不使用模塊(或至少一個模塊)的情況下使用AngularJS? – basilikum