Bir gulpfile.js uyarlamak ve bower_components/
klasörümü app/bower_components/
olarak değiştirmek istiyorum. ŞimdiGulp, Wiredep ve Bower bağımlıları
{
"directory": "app/bower_components"
}
, nasıl gulp-wiredep
benim ana Sass dosyası içindeki doğru Sass yol konumunu yazabilirsiniz:
nedenle şimdi her şey i bu hakkı kimse kullanacağı bir bower install
yapın .bowerrc
yılında dizini güncellenen?
Örneğin, gulp-wiredep
sağ // bower:scss
sonra, benim main.scss
dosyasında aşağıdaki satırı ekler:
@import "bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";
Öyle olmalı şimdi
@import "app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";
nasıl bu yolu değiştirebilirim? Ben wiredep
görev bazı yapılandırma olduğuna inanıyoruz:
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'));
});
Ama ihtiyacım olanı yapmak için o nasıl yapılandırabileceğinizi O konuda herhangi bir belge bulamadık, bilmiyorum.
Ben "app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss"
benim küstahlık dosyasında elle bu yolu değiştirirseniz, gulp serve
çalışacağını biliyorum, ama bir kameriye bileşeni yüklemek en kısa sürede tekrar başlayan ve en app/
olmadan birine bu yolu değişecek görevi bozacak.
Bunu nasıl düzeltebilirim?
Done:
// 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'));
});
Bunu denedim ama işe yaramıyor. Belgelerinde, varsayılan '.bowerrc' dizinini kullandığını söylüyor, bu yüzden gereksiz olacak, değil mi? – zok
Ayrıca cwd'yi değiştirmeyi de denedim, ama görünüşe göre wiredep 'bower.json' için arama yapacaktır – zok
Bu benim için çalışacak gibi görünüyor; .scss', cevabımda gösterildiği gibi html'ye değil. Eski bower_components klasörünü silerseniz ve wiredep hala orada ararsa, görev, herhangi bir bağımlılık bulamadığından şikayet ederek wiredep ile başarısız olmalıdır. Her neyse, değiştirme geçersiz kılma özelliğini kullanabilirsiniz, ancak bunu farklı şekilde belirtmeniz gerekir. Bu cevabı güncellemeyi görün. – knutwalker