【问题标题】:Grunt file not building CSS file (SASS): Errno::ENOENT: No such file or directory @ rb_sysopen - undefinedGrunt 文件未构建 CSS 文件 (SASS):Errno::ENOENT: 没有这样的文件或目录 @ rb_sysopen - 未定义
【发布时间】:2018-08-03 07:39:30
【问题描述】:

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

运行“sass:dist”(sass) 任务 Errno::ENOENT: 没有这样的文件或 directory @ rb_sysopen - undefined 使用 --trace 进行回溯。 警告:退出并显示错误代码 1 使用 --force 继续。中止 由于警告。进程以代码 6 终止。

我的 Grunt 文件:

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 Core 项目。

我看了一点,似乎它可能是 SASS 缓存。但是,当我运行 rm .sass-cache/ -R 命令时,我得到了

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

有什么想法吗?

【问题讨论】:

    标签: visual-studio asp.net-core sass gruntjs visual-studio-2017


    【解决方案1】:

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

    【讨论】:

    • 你当然是对的。感谢您进一步了解它应该如何,而不是前缀的“hack”。谢谢!
    猜你喜欢
    • 2018-09-07
    • 2016-01-11
    • 1970-01-01
    • 2014-07-09
    • 2018-05-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多