2016-06-01 3 views
0

에서 빌드 폴더를 포함하지 않을 I이 완료되면 내 .build 폴더 내 완성 된 솔루션을 포함 할 수 있도록 나는 꿀꺽 프로세스를 구축gulp-inject. 출력

_build 
src 
|- \images 
|- \js 
|- \sass 

다음과 같은 폴더 구조

_build\index.html 
_build\images\*.* 
_build\js\site.min.js 
_build\css\site.css 

내 말대꾸 파일을 컴파일 내 꿀꺽 작업을 가지고 있고, 생성 된 파일이 올바르게 _build의 \ CSS의 폴더에 저장되는

지금 내 index.html 파일 내에서, 나는하여

<link rel="stylesheet" href="css/site.css"> 

를 주입 다음 얻을 무슨 내가 얻을하려고하지만 결말 계속 어떤 헤드 요소 이제

<!-- inject:css --> 
<!-- endinject --> 

내에서 다음이 최대로

<link rel="stylesheet" href="/_build/css/site.css"> 

이것은 주사를 내 꿀꺽 꿀꺽 삼키는 작업입니다. 추신. 나는/_build/출력을 포함하지 않아야 상대적 옵션을 사용하여, https://www.npmjs.com/package/gulp-inject에 문서를 읽는 나의 해석을 바탕으로 $

gulp.task('inject', function() { 
    return gulp 
     .src('./src/index.html') 
     .pipe($.inject(gulp.src('./build/css/site.css', {read: false}), {relative: true})) 
     .pipe(gulp.dest('./_build/')); 
}); 

별칭 꿀꺽 -로드 플러그인을 사용하고 있습니다. 그러나 그것은 제외되지 않습니다. 어떻게

나는 꿀꺽 꿀꺽 - 분사를 구성하려면 제대로 excludethe/_build/경로

당신은 파일에 상대 경로를 사용하여 주입 말하고있다

답변

0

. 하지만 무엇과 관련이 있니? 음, 주사의 근원과 관련이 있습니다.

소스 인 경우 : 당신은 트리에서 디렉토리를 올라가고있다

./build/css/site.css 

그래서이 될 수있다 이제까지 ./에 서있다 주입. 의미 : build/css/site.css은 올바른 상대 경로입니다.

지금 반면에 소스 인 경우 :

build/css/site.css 

는 CSS에 대한 상대 경로 /css/site.css입니다.

짧은 이야기. 올바른 디렉토리에서 주입 호출

gulp.task('inject', function() { 
    return gulp 

     .src('./src/index.html') 
     .pipe($.inject(gulp.src('build/css/site.css', {read: false}), {relative: true})) 
     .pipe(gulp.dest('./_build/')); 
}); 

./

편집

당신은 변경하고 CWD 함께 플레이 할 수도 있습니다

(현재 작업 디렉토리)를 제거