Użycie pustego szablonu jonowego z domyślnym plikiem gulp i uruchomieniem:
ionic setup sass
Mogę zbudować aplikację Sass, ale chciałem dodać kompas, więc używając Gulpa dodałem poniższy kod do mojego pliku gulp na podstawie łyk-kompas przykłady:
gulp.task( "compass", function( done ) {
gulp.src( "./scss/ionic.app.scss" )
.pipe( compass( {
config_file: "config.rb",
css: "www/css",
sass: "scss"
} ) )
.pipe( minifyCss( {
keepSpecialComments: 0
} ) )
.pipe( rename( { extname: ".min.css" } ) )
.pipe( gulp.dest( "./www/css/" ) )
.on( "end", done );
} );
Teraz wydaje się działać, gdy buduję używając:
ionic compass
Ale kiedy biegnę:
ionic serve
i przebiega przez budowanie wszelkich zmian w Sassie, ciągle otrzymuję błąd:
Task "sass" is not in your gulpfile
Odkąd usunąłem zadanie "sass" i zastąpiłem je zadaniem "kompas", a wszystkie odniesienia zastąpiłem kompasem dlaczego jest jeszcze świadomy zadania "sass"? W ustawieniu domyślnym były tylko trzy odniesieniagulpfile, ale jedyny sposób, aby to zadziałało, to zmienić nazwę mojego zadania "kompasowego" na "sass", ale uruchom rurkę kompasu wewnątrz zamiast rury sass.
// renamed to sass from compass to remove build error
gulp.task( "sass", function( done ) {
gulp.src( "./scss/ionic.app.scss" )
.pipe( compass( {
config_file: "config.rb",
css: "www/css",
sass: "scss"
} ) )
.pipe( minifyCss( {
keepSpecialComments: 0
} ) )
.pipe( rename( { extname: ".min.css" } ) )
.pipe( gulp.dest( "./www/css/" ) )
.on( "end", done );
} );
Odpowiedzi:
1 dla odpowiedzi № 1Zmień nazwę zadania na sass
zamiast compass
. Ionic ma kilka wbudowanych funkcji sass, które zakładają, że zadanie gulp nazywa się sass, aby obsługiwać przeładowanie na żywo. Jest to pomocne podczas używania ionic serve
Aby wyświetlić podgląd aplikacji i zmienić dowolną stylizację, można ją wepchnąć do przeglądarki bez konieczności ponownego ładowania strony, a system Ionic jest zależny od tego konkretnego zadania gulp.