17

运行 grunt - 我收到此错误消息:

Running "sass:all" (sass) task
Fatal error: The implementation option must be passed to the Sass task

我已经尝试重新安装 grunt、node、npm、依赖项 - 但我总是回到这个我无法克服的错误。

我应该发布我的 Gruntfile.js 吗?坦率地说,这是由第三方设置的,我们不经常使用它 - 我在想也许我们应该从头开始,因为它最初是从大约 4 年前开始的......但想知道是否有人看过此错误之前并知道修复/解决方法。

4

3 回答 3

43

随着 grunt-sass 3 的更新,你必须选择是使用 node-sass 还是 dart-sass 来编译 node-sass 你需要安装模块:

$ npm install --save-dev node-sass 

在您的 gruntfile 中,您需要添加 node-sass 作为要求并添加定义常量作为实现选项:

const sass = require('node-sass');

require('load-grunt-tasks')(grunt);

grunt.initConfig({
    sass: {
        options: {
            implementation: sass,
            sourceMap: true
        },
        dist: {
            files: {
                'main.css': 'main.scss'
            }
        }
    }
});

另见官方页面了解更多详情:https ://www.npmjs.com/package/grunt-sass

于 2018-11-14T19:53:55.863 回答
2

用这个

   **const sass = require("node-sass");**

**grunt.initConfig({
sass: {
  options: {
    implementation: sass,
    sourceMap: true,
  },
  dist: {
    files: {
      "css/styles.css": "css/styles.css",
    },
  },
},

});

这将帮助您解决问题

于 2021-06-23T17:19:23.763 回答
-1

更新:仅适用于 grunt-sass 2.x

从 grunt-sass 1.x 升级到 2.x 时我遇到了这个问题。这为我解决了它:

添加implementation: 'sass'到您的sass. optionsGruntfile.js 中的对象如下:

options: {
    implementation: 'sass',
    outputStyle: 'expanded',
    sourceMap: true,
    quiet: true // stop depreciation errors
},
于 2018-11-08T21:41:22.127 回答