2015-08-21 31 views
0

我有一個吞噬任務,旨在將bower依賴關係複製到另一個文件夾,但只有一部分依賴關係正在匹配。爲什麼main-bower-files會過濾一些軟件包?

這裏的任務的簡化版本,它會打印出匹配的路徑:

gulp.task('list-dependencies',function() { 
    gulp.src(mainBowerFiles('**/*'), { base: './bower_components' }) 
    .pipe($.print()); 
}); 

這裏的bower.json文件內容:

bower.json 

    { 
     "name": "app", 
     "private": true, 
     "dependencies": { 
     "bootstrap": "3.0.0", 
     "jquery": "1.10.2", 
     "modernizr": "~2.8.3", 
     "angular": "~1.4.4", 
     "angular-ui": "~0.4.0", 
     "angular-route": "~1.4.4" 
     } 
    } 

這裏的bower_components文件夾列表:

$ ls bower_components/ 
angular angular-route angular-ui bootstrap jquery modernizr 

outut:

[13:30:08] Starting 'list-dependencies'... 
[13:30:08] Finished 'list-dependencies' after 27 ms 
[gulp] bower_components\jquery\jquery.js 
[gulp] bower_components\angular\angular.js 
[gulp] bower_components\angular-route\angular-route.js 
[gulp] bower_components\bootstrap\dist\js\bootstrap.js 
[gulp] bower_components\bootstrap\dist\css\bootstrap.css 

正如您所看到的,angular-ui和modernizr未列出。有人可以解釋爲什麼會這樣嗎?

回答

4

Bower在bower.json中定義了「主要」文件的概念。錯過的軟件包是由於這些軟件包沒有包含定義主文件的bower.json文件。要使主要文件插件正常工作,必須在您的bower文件中或作爲主要文件文件的參數來使用define override

相關問題