未找到 'Sass' 个目标 - 使用 Grunt 时出错

No 'Sass' Targets Found - Error whilst using Grunt

我已经开始尝试掌握 G运行t 的基础知识,但是当我尝试 运行 'Grunt Sass' 时,我遇到了 "No 'sass' targets found" 错误.我看不出我哪里出错了,有人能给我指点一下正确的方向吗?

module.exports = function(grunt) {

//configuration
grunt.initConfig({
    // pass in options to plugins, references to files
    concat: {
        js: {
            src: ['js/*.js'],
            dest: 'build/script.js'
        },
        css: {
            src: ['css/*.css'],
            dest: 'build/styles.css'
        },
        sass: {
            dist: {
                files: [{
                    src: 'css/sass/styles.scss',
                    dest: 'css/styles.css'
                        }]
                   }
               },
    }

});

//Load Plugins
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-sass');


// register tasks
grunt.registerTask('concat-js', ['concat:js']);
grunt.registerTask('concat-css', ['concat:css']);

};

您的 sass 任务嵌套在 concat 中,这就是它无法识别 sass 任务并返回 No "sass" targets found. 错误的原因。

取消嵌套您的 sass 任务,如下所示:

grunt.initConfig({
  concat: {
    ...
  },
  sass: {
    dist: {
      files: [{
        src: 'css/sass/styles.scss',
        dest: 'css/styles.css'
      }]
    }
  },
});

旁注:看起来你的 css 任务也放错了地方,但这不应该影响 运行 的 grunt sassgrunt sass:dist;但是,它不会找到 grunt sass:css。如果您希望 grunt sass:cssgrunt sass:dist 都可用,请从 js 中删除 css 任务,以下是构建 sass 任务的方式:

grunt.initConfig({
  concat: {
    js: {
      src: ['js/*.js'],
      dest: 'build/script.js'
    },
  },
  sass: {
    css: {
      src: ['css/*.css'],
      dest: 'build/styles.css'
    },
    dist: {
      files: [{
        src: 'css/sass/styles.scss',
        dest: 'css/styles.css'
      }]
    }
  },
});