2015-06-20 91 views
2

我用無禮的話和,而不是創建一個mixin我試圖用咕嚕-postcss加在我的類定義我的供應商前綴......Autoprefixing使用咕嚕+ PostCSS

這是我的CSS

@keyframes { 
    from { transform:scale(1); } 
     to { transform:scale(2); } 
} 

我gruntfile

watch:{ 
     sass: { 
      files: ["sass/partials/*.scss","sass/*.scss"], 
      tasks:['sass','postcss'] 
     } 
    }, 
    sass :{ 
     dev: { 
      files: { 
       "web/css/styles.css" : "sass/demo.scss" 
      } 
     } 
    }, 
    postcss :{ 
     options: { 
      processors:[ 
       require('autoprefixer-core')({browsers:'>5%'}) 
      ] 
     }, 
     dist: { 
      src: 'web/css/*.css' 
     } 
    }, 

但最後的文件沒有前綴。我究竟做錯了什麼?

[更新]

我試圖改變

dist: { 
    src: 
} 

dist : { files: {}} 

,但仍然沒有工作,這是一個錯誤?我注意到,沒有人試圖在運行任務postcss使用@keyframes定義之前

[更新]

:DIST我正在和錯誤

Fatal Error: undefined is not a function

我是在這裏丟失什麼?

+0

難道我需要預先設置一些符號來我頂嘴讓它識別前綴樣式屬性?我嘗試使用「:」,但sass遇到錯誤 – Kendall

+0

我沒有使用「@關鍵幀」,但我遇到了同樣的問題。我已經完成了沒有錯誤的任務,但沒有應用前綴。 –

回答

3

我認爲你的Grunt文件表示法不正確。試試這個:

dist: { 
      files: [{ 
       expand: true, 
       cwd: 'web/css/', 
       src: ['**/*.css'], 
       dest: 'web/css/' 
      }] 
     } 
-1

你不必動畫的名稱

@keyframes zoom{ 
    from { transform:scale(1); } 
     to { transform:scale(2); } 
} 
+1

雖然這是真的,但Sass不會在OP發佈的代碼中引發錯誤。由於Autoprefixer會愉快地爲無效的關鍵幀聲明(在codepen上測試)加上前綴,所以我覺得這不太可能是答案。 – cimmanon

0

對我下面的工作:

grunt.initConfig({ 

    sass: { 
    dist: { 
     files: { 
      'assets/css/style.css': 'assets/sass/style.scss' 
     } 
    } 
    }, 

    postcss: { 
    options: { 
     map: true, 
     processors: [ 
     require('autoprefixer')({ 
      browsers: ['last 2 versions'] 
     }) 
     ] 
    }, 
    dist: { 
     src: 'assets/css/style.css' 
    } 
    }, 

    watch: { 
    styles: { 
     files: ['assets/sass/*.scss', 'assets/sass/common/*.scss'], 
     tasks: ['sass','postcss'] 
    } 
    } 

}); 

grunt.loadNpmTasks('grunt-contrib-sass'); 
grunt.loadNpmTasks('grunt-postcss'); 
grunt.loadNpmTasks('grunt-contrib-watch'); 

grunt.registerTask('default', ['sass', 'watch']); 
grunt.registerTask('default', ['sass', 'postcss']);