我有一个gulp任务,旨在将bower依赖项复制到另一个文件夹,但只有一部分依赖项正在匹配。
这是一个简化版本的任务,只打印出匹配的路径:
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并未列出。有人可以解释为什么会这样吗?
答案 0 :(得分:4)
Bower有一个在bower.json中定义“主要”文件的概念。丢失的软件包是由于这些软件包不包含定义主文件的bower.json文件。要使main-bower-files插件正常工作,您必须在凉亭文件中define override或作为主播文件的参数。