【问题标题】:Building Ionic Sass using Compass still looking for Removed Sass task使用 Compass 构建 Ionic Sass 仍在寻找 Removed Sass 任务
【发布时间】:2015-05-17 23:07:30
【问题描述】:

使用带有默认 gulpfile 的离子空白模板并运行:

ionic setup sass

我可以构建应用程序的 Sass,但我想添加 Compass。因此,使用 Gulp,我根据 gulp-compass 示例将以下代码添加到我的 gulpfile 中:

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 );
} );

现在,当我使用以下方法构建时,它似乎可以工作:

ionic compass

但是,当我跑步时:

ionic serve

它通过构建 Sass 中的任何更改而运行,我不断收到错误:

Task 'sass' is not in your gulpfile

既然我已经删除了 'sass' 任务并用我的 'compass' 任务替换了它,并且用 compass 替换了所有引用 为什么它还知道一个 'sass' 任务?默认 gulpfile 中只有三个引用,但让它工作的唯一方法是将我的 'compass' 任务重命名为 'sass',但在其中运行 compass 管道而不是 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 );
} );

【问题讨论】:

    标签: sass gulp ionic gulp-sass gulp-compass


    【解决方案1】:

    将任务重命名为 sass 而不是 compass。 Ionic 有一些内置的 sass 功能,假设 gulp 任务被命名为 sass 以支持实时重新加载。这在使用 ionic serve 预览您的应用程序时很有帮助,并且可以将任何样式更改推送到浏览器中而无需实际重新加载页面,并且 Ionic 的系统依赖于现有的特定 gulp 任务。

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多