运行grunt sass编译任务时出错

时间:2018-06-12 11:52:10

标签: sass gruntjs grunt-contrib-watch

运行grunt任务编译scss文件时出现以下错误:

Running "watch:sass" (watch) task
Waiting...
>> File "Content\sass\main.scss" changed.
Running "sass:dist" (sass) task
Error: expected "{".
@import "layout";
                ^
  Content\sass\main.scss 4:17  root stylesheet
Warning: Exited with error code 65 Use --force to continue.
Aborted due to warnings.

sass文件(main.scss)包含一行代码:

@import "layout";

布局文件只有几行CSS。

我遇到的问题是我在不同的机器上使用完全相同的代码运行这个完全相同的配置,然后才会失败;问题必须在这台电脑上。

当我运行node -v时,我得到v8.11.2。当我运行npm -v时,我得到v5.6.0

我正在使用Visual Studio运行新安装的Windows 10来编写代码和命令行来运行任务。

有谁知道为什么会这样?这是我的package.json:

{
  "version": "1.0.0",
  "name": "SafeOnlineMVC",
  "private": true,
  "devDependencies": {
    "grunt": "0.4.5",
    "grunt-bower-task": "^0.4.0",
    "grunt-contrib-concat": "^1.0.1",
    "grunt-contrib-jshint": "^1.1.0",
    "grunt-contrib-sass": "^0.9.2",
    "grunt-contrib-uglify": "^2.0.0",
    "grunt-contrib-watch": "^0.6.1"
  }
}

我的gruntfile.js:

module.exports = function (grunt) {
    grunt.loadNpmTasks("grunt-bower-task");
    grunt.loadNpmTasks("grunt-contrib-watch");
    grunt.loadNpmTasks("grunt-contrib-sass");

    grunt.initConfig({
        sass: {
            dist: {
                options: {
                    style: "compressed"
                },
                files: [
                  {
                      "Content/main.css": "Content/sass/main.scss"
                  }
                ]
            }
        },
        watch: {
            sass: {
                files: ["Content/sass/*.scss"],
                tasks: ["sass"]
            }
        }
    });
};

感谢。

编辑:主要scss文件:

@import "_layout";

编辑:布局scss文件:

.inner{
    width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    max-width: 100%;
    box-sizing:border-box;
}

1 个答案:

答案 0 :(得分:-2)

您的css中存在错误,如错误消息所示。你在选择器名称后缺少一个左大括号。