2016-12-01 12 views
0

Gulp를 이미 사용하고있는 프로젝트에 Bower를 추가하고 있습니다. 내 폴더 구조는 같다 : 이미 main-bower-filesbower-normalize를 사용하여 /의 JS을 대상으로 모든 제 3 자 libreries 복사 관리해야Gulp 및 Bower - 적절한 파일 구조 만들기

|- bower_components 
| |- dependency1 
| | |- dist 
| |  |- lib1.js 
| |  |- lib1.min.js 
| | 
| |- dependency2 
|  |- core 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 
| 
|- target 
    |- js 

. 그러나 평평 (그리고 나는 참으로 이물 - 정규화 옵션 flatten을 설정하지 않았다!), 그래서의는 다음과 같습니다

target 
|- js 
    |- lib1.js 
    |- extra.js 
    |- lib2.js 

파일 lib1.js, extra.jslib2.js이 bower.json 설정 파일에 main으로 표시됩니다.

target 
|- js 
    |- dependency1 
    | |- lib1.js 
    | 
    |- dependency2 
     |- sub 
     | |- extra.js 
     | 
     |- lib2.js 

내가 도움을 정말 greatful 될 것입니다 : 내가 달성하고자하는 어떤

파일 구조가 같은 것입니다!

+0

gulpfile.js 파일을 표시하면 누군가가 구문을 통해 도움을 줄 수 있습니다. – srussking

+0

gulp.src 명령에'{base : '.'}'를 전달해야합니다. – harishr

답변

1

gulp-flatten, 을 통해 이동하면 파일의 상대 경로를 제거하거나 대체하는 데 도움이됩니다. 그리고 도 좋습니다. wiredep을 적극 권장합니다. 자동으로 은 종속성에 대한 순서뿐만 아니라 모든 bower 종속성을 처리합니다. 희망이 당신을 도울 것입니다. 이물 구성 요소와

소스 디렉토리 :

|- bower_components 
| |- dependency1 
| | |- dist 
| |  |- lib1.js 
| |  |- lib1.min.js 
| | 
| |- dependency2 
|  |- core 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 
| 
|- target 
    |- js 

사용 꿀꺽가-평평 -

gulp.src(['bower_components/**/*.js']) 
    .pipe(flatten({ includeParents: [1, 1]})) 
    .pipe(gulp.dest('build/')); 

이 (트리 디렉토리 위에서)이 구조를 만듭니다 :

|- bower_components 
| |- dependency1 
| | |- lib1.js 
| | 
| |- dependency2 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 

includeParents: [1, 1] 두 개의 숫자 배열로 전달하면 상단과 하단의 부모가 파일의 결과 경로에 보관됩니다.

includeParents: 1 양수로 전달 된 경우 출력에 최상위 수준 상위 수가 포함됩니다.

includeParents: -1 음수로 전달 된 경우 출력에 최하위 수준 부모 수가 포함됩니다.