0

私はグラントに手を出しています。私のcssを自動的に自動接頭辞にするタスクを書き込もうとしています。

ここに私のGruntfileがあります

module.exports = function(grunt) {
  'use strict';
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    autoprefixer: {
      options: {
        browsers: ['last 8 versions']
      },
      files: {
        'css/styles.css': 'css/styles.css'
      }
    },
    watch: {
      sass: {
        files: ['sass/**/*.{scss,sass}','sass/_partials/**/*.{scss,sass}'],
        tasks: ['sass:dist', 'autoprefixer']
      },
      livereload: {
        files: ['*.html', '*.php', 'js/**/*.{js,json}', 'css/*.css','img/**/*.{png,jpg,jpeg,gif,webp,svg}'],
        options: {
          livereload: true
        }
      }
    },
    sass: {
      dist: {
        files: {
          'css/styles.css': 'sass/styles.scss'
        }
      }
    }
  });
  grunt.registerTask('default', ['sass:dist', 'autoprefixer', 'watch']);
  grunt.loadNpmTasks('grunt-sass');
  grunt.loadNpmTasks('grunt-autoprefixer');
  grunt.loadNpmTasks('grunt-contrib-watch');
};

grunt を実行すると、タスクは正常に実行されていると表示されますが、css ファイルを確認しても何も処理されません。

何か不足していますか?(答えはイエスですが、何を知りたいです:))

4

2 に答える 2

8

この質問に対する代替のより簡単な解決策を提供したいと思います。受け入れられた答えは、このポスターの問題に対してやり過ぎです。OPの質問で何が起こっているかとdist:いうと、変換するはずのファイルの前に、オートプレフィクサータスクに などのターゲットがありません。したがって:

autoprefixer: {
  options: {
    browsers: ['last 8 versions']
  },
  files: {
    'css/styles.css': 'css/styles.css'
  }
},

次のようにする必要があります。

autoprefixer: {
  options: {
    browsers: ['last 8 versions']
  },
  dist: { // Target
    files: {
      'css/styles.css': 'css/styles.css'
    }
  }
},
于 2014-05-21T16:26:30.773 に答える
0

livereloadタスク内では、watchパスについて非常にうるさいです。この質問に対する私の答えを見てください。

于 2014-02-28T19:08:55.637 に答える