首页 > 解决方案 > 使用 Grunt 任务运行器时未找到任务错误

问题描述

我在 Windows 机器上,我相信我已经安装了运行 grunt 任务所需的一切: grunt sass 我已经在终端中执行了以下命令:

npm install grunt-sass --save-dev

npm install time-grunt --save-dev

npm install jit-grunt --save-dev

npm install grunt-contrib-watch --save-dev

npm install grunt-browser-sync --save-dev

我收到以下错误:

Warning: Task "sass" not found. Use --force to continue.

Aborted due to warnings.

我已经尝试了其他类似帖子的所有可能解决方案,但无济于事。我Gruntfile.js的如下:

"use strict";

module.exports = function (grunt) {

    require("time-grunt")(grunt);

    require("jit-grunt");

    grunt.initConfig({
        sass: {
            dist: {
                files: {
                    "css/styles.css": "css/styles.scss"
                }
            }
        },
        watch: {
            files: "css/*.scss", 
            tasks: ["sass"]
        },
        browserSync: {
            dev: {
                bsFiles: {
                    src: [
                        "css/*.css",
                        "*.html",
                        "js/*.js"
                    ]
                },
                options: {
                    watchTask: true,
                    server: {
                        baseDir: "./"
                    }
                }

            }

        }

    });

    grunt.registerTask("css", ["sass"]);
    grunt.registerTask("default", ["browserSync", "watch"]);

};

标签: javascriptsassgruntjs

解决方案


我设法找到了解决方案。对文件进行以下更改:

"use strict";

module.exports = function (grunt) {

    const sass = require('node-sass'); // add this line

    require("time-grunt")(grunt);

    require("jit-grunt")(grunt);

    grunt.initConfig({
        sass: {
            dist: {
                files: {
                    "css/styles.css": "css/styles.scss"
                }
            }
        },
        watch: {
            files: "css/*.scss", 
            tasks: ["sass"]
        },
        browserSync: {
            dev: {
                bsFiles: {
                    src: [
                        "css/*.css",
                        "*.html",
                        "js/*.js"
                    ]
                },
                options: {
                    implementation: sass, //add this line
                    sourceMap: true,      //add this line
                    watchTask: true,
                    server: {
                        baseDir: "./"
                    }
                }

            }

        }

    });

    grunt.registerTask("css", ["sass"]);
    grunt.registerTask("default", ["browserSync", "watch"]);

};

推荐阅读