2015-01-14 10 views
9

Mam problem z usemin i nie jestem pewien, czy jest to błąd.Czy gulp-usemin może akceptować wiele plików?

Moja struktura aplikacja jest prosta:

- root 
    |- gulpfile.js 
    |- app 
    | |- index.html 
    | |- about.html 
    | |- contact.html 
    | |- js 
    |  |- a.js 
    |  |- b.js 
    |  |- c.js 
    |  |- d.js 
    |  |- e.js 
    | 
    |- dist 

Każdy z moich plików HTML ma blok usemin w nim zawierać wszystkie skrypty na przykład:

<!-- build:js js/app.js --> 
<script src="../js/a.js"></script> 
<script src="../js/b.js"></script> 
<script src="../js/c.js"></script> 
<script src="../js/d.js"></script> 
<script src="../js/e.js"></script> 
<!-- endbuild --> 

Kiedy uruchomić następujące zadanie :

gulp.task('usemin'. function() { 
    gulp.src('app/*.html') 
     .pipe(usemin({ 
      assetDir: 'app/**/' 
     })) 
     .pipe(dest('dist/')) 
}); 

tylko pierwszy plik html skopiuje do nowego katalogu, js w tym ca se jest łączone zgodnie z oczekiwaniami.

Kiedy zmienić gulp.src do gulp.src(['index.html','about.html','contact.html']) dostaję wypróbujemy inny problem, wszystkie pliki html skopiować ale tylko pierwsza w kolejności alfabetycznej uruchamia blok usemin zastępując 5 skryptów z nowym scenariuszem.

Wszelkie spostrzeżenia byłyby wspaniałe, przeczytałem obszerną dokumentację i dokumentację gulp-usemin i nie znalazłem żadnych powodów, dla których miałoby to mieć miejsce.

Przykład na stronie internetowej NPM dla pierwszego z moich dwóch przypadków podano nawet jako przykład, nie jestem pewien, co tu się dzieje? Może ma to coś wspólnego z tym, od czego uruchamiam plik gulp?

Czy to możliwe?

Pozdrawiam.

EDYTOWANIE: Nie jestem pewien, co się tutaj działo, ale stworzyłem całkowicie nowy projekt i zbudowałem/zainstalowałem pluginy i skrypty npm od podstaw i wszystko działało. Nie jest to świetne rozwiązanie, ale zaoszczędziło mi to trochę czasu.

+0

dobrze, jesteś przynajmniej brakuje kończąc cytat w assetDir: „app/** /. Ponadto pożyczam ze strony GulH-usemin GitHub: "Alternatywna ścieżka roota dla zasobów". Może więc powinna to być "aplikacja"? – juunas

+0

@juunas to kod psudo, ale dzięki źle to poprawiam. Moje dodatkowe assesty w tym przykładzie są w aplikacji/js, więc muszę określić, że znajdują się one w podkatalogu aplikacji, nie w tym samym, co pliki .html. –

+0

Po sprawdzeniu [kodu] (https://github.com/zont/gulp-usemin/blob/master/lib/blocksBuilder.js#L39), aplikacja/** prawdopodobnie nie będzie działać, ponieważ zostanie podłączona do [ path.resolve] (http://nodejs.org/api/path.html#path_path_resolve_from_to). – juunas

Odpowiedz

0

Zamiast gulp-usemin tylko przesłonić główny plik używać wewnątrz bower.json tak:

{ 
    "name": "appName", 
    "dependencies": { 
    "angular": "~1.3.9", 
    "angular-animate": "~1.3.9", 
    "angular-ui-router": "~0.2.13" 
    }, 
    "overrides": { 
    "angular": { 
     "main": "angular.min.js" 
    }, 
    "angular-animate": { 
     "main": "angular-animate.min.js" 
    }, 
    "angular-ui-router": { 
     "main": "release/angular-ui-router.min.js" 
    } 
    } 
} 
Powiązane problemy