繁体   English   中英

Sass on Grunt总是创建一个空输出

[英]Sass on Grunt always creates an empty output

我正在尝试使用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没有正确指定命令行。

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

也许还有其他不对劲,但我认为grunt-contrib-sass简直是愚蠢的。

我用grunt-sass替换了它,并且它在相同的gruntfile设置下也能完美工作。 只需使用NPM或Yarn安装并替换grunt.loadNpmTasks('grunt-contrib-sass'); 使用grunt.loadNpmTasks('grunt-sass');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM