【问题标题】:Sass on Grunt always creates an empty outputSass on Grunt 总是创建一个空输出
【发布时间】:2018-05-28 05:24:05
【问题描述】:

我正在尝试使用 grunt-contrib-sass 编译 SASS,但我得到一个空的 CSS 文件。

这是我能想到的用于编译 SASS/SCSS 的最简单的 package.json

{
  "name": "sassgrunt",
  "version": "1.0.0",
  "scripts": {
    "sass": "node-sass"
  },
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-sass": "^1.0.0",
    "node-sass": "^4.7.2",
    "sass": "^1.0.0-beta.4"
  }
}

这和 SCSS 文件一样简单:

body {
    background: red;
}

还有这个gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        sass: {
            dist: {
                files: {
                    './test.css': './test.scss'
                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-sass');
};

如果我执行grunt sass,它会创建一个全新的 test.css 文件。

我想我知道为什么了。

此命令从我的来源创建一个完全正常的test2.css

npm run sass test.scss test2.css

但是这个只是将编译好的 CSS 输出到显示器并创建一个空文件:

npm run sass test.scss

当我运行grunt sass 时,这正是我所看到的。这意味着grunt-contrib-sass 没有正确指定命令行。

我不明白为什么,因为这个设置正是我看到的每个示例中所显示的。当然,我的设置肯定有问题,否则每个人都会有这个问题?

【问题讨论】:

    标签: javascript sass gruntjs node-sass grunt-contrib-sass


    【解决方案1】:

    可能还有其他问题,但我认为grunt-contrib-sass 只是个废话。

    我将它替换为grunt-sass,它与相同的 gruntfile 设置完美配合。只需使用 NPM 或 Yarn 安装并将 grunt.loadNpmTasks('grunt-contrib-sass'); 替换为 grunt.loadNpmTasks('grunt-sass');

    【讨论】:

      猜你喜欢
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 2015-02-16
      • 1970-01-01
      • 2015-01-22
      • 2019-03-04
      • 2015-04-27
      相关资源
      最近更新 更多