Ответ 1
Я рекомендую wiredep:
Вы добавляете блок в свой html:
<html>
<head>
</head>
<body>
<!-- bower:js -->
<!-- endbower -->
</body>
</html>
и ваша задача wiredep выглядит так:
// inject bower components
gulp.task('wiredep', function () {
var wiredep = require('wiredep').stream;
gulp.src('app/*.html')
.pipe(wiredep())
.pipe(gulp.dest('app'));
});
Что добавит депиляции в ваш html как таковой:
<html>
<head>
</head>
<body>
<!-- bower:js -->
<script src="bower_components/foo/bar.js"></script>
<!-- endbower -->
</body>
</html>
Затем вы можете объединить это с useref для заказа всех зависимостей javascript проекта
html block
<!-- build:js scripts/app.js -->
<!-- bower:js -->
<script src="bower_components/foo/bar.js"></script>
<!-- endbower -->
<script src="js/yourcustomscript.js"></script>
<!-- endbuild -->
gulp Задача
gulp.task('html', ['styles'], function () {
var assets = $.useref.assets({searchPath: '{.tmp,app}'});
return gulp.src('app/*.html')
.pipe(assets)
.pipe(assets.restore())
.pipe($.useref())
.pipe(gulp.dest('dist'));
});
Посмотрите, как генератор- gulp -webapp делает вещи: https://github.com/yeoman/generator-gulp-webapp
Примечание: синтаксис $.plugin
предполагает var $ = require('gulp-load-plugins')();