源文件的控制顺序
Control order of source files
我正在使用 Gulp 和 main-bower-files 来捆绑我的 bower 依赖项。
我需要确保 jQuery 包含在 AngularJS 之前,但是由于 Angular bower 包实际上并不依赖于 jQuery,它被包含在之后。
有没有办法将 jQuery 推到源列表的顶部或覆盖 Angular 的依赖关系以便它确实需要 jQuery?
我尝试使用 gulp-order 插件来执行此操作,但它弄乱了剩余文件的原始顺序:
gulp.task('bower', function () {
var sources = gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js'])); // don't include min files
return sources
// force jquery to be first
.pipe(plugins.order([
'jquery.js',
'*'
]))
.pipe(plugins.sourcemaps.init())
.pipe(plugins.concat('libs.min.js'))
.pipe(plugins.uglify())
.pipe(plugins.sourcemaps.write('./'))
.pipe(gulp.dest(config.output))
.pipe(plugins.notify({ message: 'Bower task complete' }));
});
您可以覆盖项目中的角度依赖项bower.json
:
https://github.com/ck86/main-bower-files#overrides-options
{
...
"overrides": {
"angular": {
"dependencies": {
"jquery": "~1.8"
}
}
}
}
我没用过 main-bower-files
但我能想到的一个技巧是直接包含 jquery 文件,不要将它加载到主 bower 文件数组中,例如
var glob = ['/path/to/jquery.js'].concat(mainBowerFiles(['**/*.js', '!/path/to/jquery.js']));
var sources = gulp.src(glob);
我正在使用 Gulp 和 main-bower-files 来捆绑我的 bower 依赖项。
我需要确保 jQuery 包含在 AngularJS 之前,但是由于 Angular bower 包实际上并不依赖于 jQuery,它被包含在之后。
有没有办法将 jQuery 推到源列表的顶部或覆盖 Angular 的依赖关系以便它确实需要 jQuery?
我尝试使用 gulp-order 插件来执行此操作,但它弄乱了剩余文件的原始顺序:
gulp.task('bower', function () {
var sources = gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js'])); // don't include min files
return sources
// force jquery to be first
.pipe(plugins.order([
'jquery.js',
'*'
]))
.pipe(plugins.sourcemaps.init())
.pipe(plugins.concat('libs.min.js'))
.pipe(plugins.uglify())
.pipe(plugins.sourcemaps.write('./'))
.pipe(gulp.dest(config.output))
.pipe(plugins.notify({ message: 'Bower task complete' }));
});
您可以覆盖项目中的角度依赖项bower.json
:
https://github.com/ck86/main-bower-files#overrides-options
{
...
"overrides": {
"angular": {
"dependencies": {
"jquery": "~1.8"
}
}
}
}
我没用过 main-bower-files
但我能想到的一个技巧是直接包含 jquery 文件,不要将它加载到主 bower 文件数组中,例如
var glob = ['/path/to/jquery.js'].concat(mainBowerFiles(['**/*.js', '!/path/to/jquery.js']));
var sources = gulp.src(glob);