1

postcssを使用していますが、動作しautoprefixer-coreません。

css は正しいファイルに出力されていますが、autoprefixer は効果がありません。NPM で postcss と autoprefixer の両方をインストールしました。それらは私の gruntfile.js ファイルにあります。Grunt はエラーを出力していないため、デバッグが非常に困難です。

これが私のコードです:

module.exports = function( grunt ){
        grunt.loadNpmTasks('grunt-contrib-uglify');
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-contrib-compass');
        grunt.loadNpmTasks('grunt-postcss');

        grunt.initConfig({
            //UGLIFY
            uglify:{
                my_target: {
                    files:{             
                        'js/main.min.js': ['js/main.js']
                    }//files
                }//my target
            },//uglify

            //COMPASS
            compass: {
                dev:{
                    options: {
                        config: 'config.rb'
                    }//options
                }//development mode
            },//compass

            //POST CSS
            postcss: {
                options: {
                    processors: [                       
                        require('autoprefixer-core')({browsers: 'last 2 version'}),
                    ]
                },
                dist: {
                    files: {
                        'css/prefixed/prefixed.css' : 'css/main.css' 
                    }
                }
            },

            //WATCH
            watch:{
                options: {livereload:true},
                scripts: {
                    files: ['js/main.js'],
                    tasks:['uglify']
                },//scripts
                sass: {
                    files: ['sass/**/*.scss'], 
                    tasks: ['compass:dev']
                },//sass
                html: {
                    files: ['*.html']   //watch all html files
                },//html
                postcss: {
                    files: 'css/main.css',
                    tasks: ['postcss']
                }
            }//watch
        }),//init config
        grunt.registerTask('default', ['watch', 'postcss'])
}//exports

私のコードとgithub のデモとの唯一の違いは、行require('autoprefixer-core')({browsers: 'last 2 version'})です。デモは.postcss最後に含まれています。これを行うと、エラーが発生します: Fatal error: undefined is not a function

ここで何が欠けていますか?

4

2 に答える 2

0

browsers値はlast 2 versions代わりにする必要がありますlast 2 version

processors: [                       
  require('autoprefixer-core')({browsers: 'last 2 versions'}),
]

その他のオプションについてはbrowserslist#queriesを参照してください

于 2015-08-10T05:20:59.043 に答える
0

autoprefixer-core をローカルの npm-packages に追加する必要があります。私の場合、それは「autoprefixer」であり、以下が必要です:

require('autoprefixer')({
    browsers: ['last 2 versions']
})

これは私を助けます。

于 2016-04-01T14:09:12.270 に答える