Wiredep для Bower не впрыскивая файлы

У меня есть следующая структура каталогов:

bower_components
node_modules
src
index.html
bower.json
package.json
gulpfile.js
.gitignore

У меня есть задание глотать, чтобы ввести зависимости bower следующим образом:

gulp.task('bower-inject', function () {
    gulp.src('./index.html')
        .pipe(wiredep())
        .pipe(gulp.dest('./'));
});

index.html

    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="shortcut icon" href="src/assets/images/favicon.ico">
        <title>ABC</title>

        <!-- bower:css -->
        <!-- endbower -->

        <!-- inject:css -->
        <!-- this is done with gulp inject which works as expected -->
        <!-- endinject -->
    </head>
    <body ng-controller="AppController as appVm">

        <div ui-view></div>

        <!-- bower:js -->
        <!-- endbower -->

        <!-- inject:js -->
        <!-- done via gulp-inject and works as expected -->
        <!-- endinject -->
    </body>

bower.json

"devDependencies": {
    "angular": "1.4.0",
    "angular-bootstrap": "~0.13.0",
    "angular-ui-router": "~0.2.15",
    "bootstrap": "~3.3.4",
    "modernizr": "~2.8.3",
    "font-awesome": "~4.3.0"
  }

Вот что я вижу, когда запускаю задачу:

[00:24:50] Starting 'bower-inject'... [00:24:50] Finished 'bower-inject' after 14 ms

Есть идеи, что мне здесь не хватает?

2 ответа

Решение

Вот что наконец-то сработало для меня:

gulp.task('inject', function () {
    var target = gulp.src('./index.html');

    var sources = gulp.src(['src/**/*.js', 'src/**/*.css'], {read: false});

    return target
        .pipe(wiredep({
            devDependencies: true
        }))
        .pipe(inject(sources))
        .pipe(gulp.dest('./'));
});

Wiredep будет вставлять теги скрипта, когда вы устанавливаете ваши пакеты как зависимости, а не как dev-зависимости. Так бегает bower install --save angular angular-bootstrap angular-ui-router bootstrap modernizr font-awesome а затем запустить ваш gulp build должен сделать это.

Примечание: некоторые пакеты требуют переопределения конфигурации на bower.json, Проверьте здесь информацию о переопределениях Bower, если вам нужно.

Другие вопросы по тегам