Gulp, Wiredep et Bower dépendances

Je veux adapter un gulpfile.js et de changer mon bower_components/ dossier de app/bower_components/.

J'ai mis à jour le répertoire dans .bowerrc, alors maintenant, chaque fois que je fais un bower install il va utiliser la bonne:

{
  "directory": "app/bower_components"
}

Maintenant, comment peut - gulp-wiredep écrire le bon Sass emplacement du chemin d'accès à l'intérieur de mon principal Sass fichier?

Par exemple, gulp-wiredep ajoute la ligne suivante dans mon main.scss fichier, juste après //bower:scss:

@import "bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";

Il devrait être maintenant @import "app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";

Comment puis-je modifier ce chemin d'accès? Je crois que c'est un peu de configuration sur le wiredep tâche:

gulp.task('wiredep', function () {
  var wiredep = require('wiredep').stream;

  gulp.src('app/styles/*.scss')
    .pipe(wiredep({
      ignorePath: /^(\.\.\/)+/
    }))
    .pipe(gulp.dest('app/styles'));

  gulp.src('app/*.html')
    .pipe(wiredep({
      exclude: ['bootstrap-sass-official'],
      ignorePath: /^(\.\.\/)*\.\./
    }))
    .pipe(gulp.dest('app'));
});

Mais je ne sais pas comment puis-je configurer que, pour faire ce dont j'ai besoin, je ne pouvais pas trouver toute la documentation à ce sujet.

Je sais que si je change manuellement le chemin de mon fichier sass pour "app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss", le gulp serve de travail, mais dès que j'ai installer une charmille composant, il va modifier ce chemin d'accès à l'un sans l' app/ au début de nouveau et il va se casser la tâche.

Comment résoudre ce problème?

Fait:

//inject bower components
gulp.task('wiredep', function () {
  var wiredep = require('wiredep').stream;

  gulp.src('app/styles/*.scss')
    .pipe(wiredep({

      fileTypes: {
        scss: {
          replace: {
            sass: '@import "app/{{filePath}}";',
            scss: '@import "app/{{filePath}}";'
          }
        }
      },

      ignorePath: /^(\.\.\/)+/
    }))
    .pipe(gulp.dest('app/styles'));

  gulp.src('app/*.html')
    .pipe(wiredep({
      exclude: ['bootstrap-sass-official'],
      ignorePath: /^(\.\.\/)*\.\./
    }))
    .pipe(gulp.dest('app'));
});

OriginalL'auteur zok | 2015-01-29