Grunt 文件未构建 CSS 文件(SASS):Errno::ENOENT:没有此类文件或目录@rb_sysopen - 未定义

Grunt file not building CSS file (SASS): Errno::ENOENT: No such file or directory @ rb_sysopen - undefined

我有一个 G运行t 文件,它应该构建我的 CSS 文件。当我 运行 Task Runner (Visual Studio) 中的任务时,出现以下错误:

Running "sass:dist" (sass) task Errno::ENOENT: No such file or directory @ rb_sysopen - undefined Use --trace for backtrace. Warning: Exited with error code 1 Use --force to continue. Aborted due to warnings. Process terminated with code 6.

我的G运行t文件:

module.exports = function (grunt) {
    grunt.initConfig({
        sass: {
            dist: {
                options: {
                    style: 'compressed'
                },
                files: {
                    '/css/styles.css': '/css/sass/styles.scss'
                }
            }
        },
        watch: {
            css: {
                files: ['css/sass/*.scss'],
                tasks: ['sass'],
                options: {
                    livereload: true,
                },
            },
        },
    });

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

    grunt.registerTask('default', ['watch']);
};

我的目录:

我使用 Visual Studio 2017 并且有一个标准的 ASP.NET 核心项目。

我看了一下,好像是SASS缓存。但是,当我 运行 rm .sass-cache/ -R 命令时,我得到

rm: cannot remove '.sass-cache/': No such file or directory

有什么想法吗?

我的猜测是您对从哪条路径开始感到困惑。我相信 grunt 从项目根目录运行,wwwroot 是它的子文件夹。要么在 grunt 文件中为你的路径加上 wwwroot/ 前缀,要么考虑将你的 .scss 文件完全移出 wwwroot,因为它们不打算提供服务。它们可以位于项目根目录下,您可以将 .css 输出复制到它们所属的 wwwroot 中。