2015-06-20 90 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']);