任何人都可以举例说明 gulp-angular-filesort 的真正作用以及如何正确使用它吗?
问题是我最近意识到我的 gulp -angular-filesort根本不对angularjs文件进行排序,但是我的 AngularJS 应用程序有很多文件工作正常。所以,我想出了两个问题:
- AngualarJs 对源文件顺序仍然敏感吗?在我看来,好像不是。
- gulp-angular-filesort 实际上是做什么的?我看不到它的工作的任何结果。
我认为 gulp-angular-filesort 查看 angular.module 语句并根据括号中指定的依赖关系对文件进行排序。看来我错了。
请看下面我的示例。
// 文件:Gulpfile.js
'use strict';
var
gulp = require('gulp'),
connect = require('gulp-connect'),
angularFilesort = require('gulp-angular-filesort'),
inject = require('gulp-inject');
gulp.task('default', function () {
gulp.src('app/index.html')
.pipe(inject(
gulp.src(['app/js/**/*.js']).pipe(angularFilesort()),
{
addRootSlash: false,
ignorePath: 'app'
}
))
.pipe(gulp.dest('app'))
;
connect.server({
root: 'app',
port: 8081,
livereload: true
});
});
//a_services.js
'use strict';
angular.module('myServices', [])
.factory('MyService', function () {
return {
myVar:1
};
})
;
//b_controllers.js
'use strict';
angular.module('myControllers', ['myServices'])
.controller('MyController', function ($scope, MyService) {
$scope.myVar = MyService.myVar;
})
;
// c_app.js
'use strict';
angular.module('myApp', ['myControllers']);
gulp-inject 的结果如下:
<!-- inject:js -->
<script src="js/c_app.js"></script>
<script src="js/b_controllers.js"></script>
<script src="js/a_services.js"></script>
<!-- endinject -->
我预计完全相反的顺序使应用程序工作(但它仍然有效)。因此,使用 gulp-angular-filesort 只是按字母顺序对文件进行排序,尽管 angular.module(...,[...]) 中指定了所有依赖项
这里发生了什么?