处理有关与 WebPack 串联的文件顺序?

Handling files order regarding concatenation with WebPack?

使用 Angular 时的一个好习惯是将模块定义与该模块的每次使用分开(每个文件一次使用)。

例如:

//HomeModule.js
angular.module('home', []);

//HomeService.js
angular.module('home')
 .service('HomeService', HomeService);

经典问题与文件串联有关:
如果在最终文件中 HomeModule.js 之前注入 HomeService.js,则会导致此错误:

Uncaught Error: [$injector:modulerr]

使用 gulp,有一个方便的 gulp-angular-sort 可以为我们管理它。

在处理WebPack和文件拼接时如何处理Angular文件排序,以防止这种混乱?

我不同意,这一行.service('HomeService', HomeService);属于模块,而不是服务。所以你有以下设置:

HomeService.service.js:

export default ['$timeout', ..., ($timeout, ...) => { /*some code*/}]

HomeModule.js:

import HomeService from 'HomeService.service.js'

angular.module('home', [])
 .service('HomeService', HomeService);

在这种情况下,您的订单没有任何问题。