指南针与grunt“导入未找到或不可读的文件”

时间:2015-02-25 15:27:18

标签: sass gruntjs compass

我在导入指南针方面遇到问题,它确实安装了(宝石列表确认了),断点和susy工作正常但它不喜欢罗盘导入......

错误:

Error: File to import not found or unreadable: compass.
   Load paths:
     /Users/xx/dev/roomfully/listaroom-app
     /Users/xx/.rvm/gems/ruby-2.1.1/gems/susy-2.2.2/sass
     /Users/xx/.rvm/gems/ruby-2.1.1/gems/breakpoint-2.5.0/stylesheets
    on line 1 of public/sass/app.scss
Use --trace for backtrace.

Gruntfile

module.exports = function(grunt) {
    grunt.initConfig({
        sass: {
            dist: {
                options: {
                    require: [
                        'susy', 
                        'breakpoint', 
                        'compass', 
                        'compass-normalize'
                    ]
                },
                files: {
                    'public/app.css': 'public/sass/app.scss'
                }
            }
        },
        watch: {
            dist: {
                files: 'public/sass/*.scss',
                tasks: ['sass']
            }
        }
    });

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

app.scss

@import 'compass';
@import 'compass-normalize';
@import 'breakpoint';
@import 'susy';

body {
    display: none
}

3 个答案:

答案 0 :(得分:4)

有一个关于这个问题的答案File to import not found or unreadable: compass,但在你查看这个链接之前,也许你可以尝试设置sass选项"指南针:true",像这样:

sass: {
  options: {
    compass: true
  }
}

答案 1 :(得分:1)

我解决了这个问题如下: - 由于所提到的所有路径都是依赖关系的相对路径,因此罗盘存在路径解析的问题。尝试使总路径长度更小。 结果总路径解析后,我的分层文件夹结构太多了,它大于允许的长度。 尝试将您的文件夹(包含整个项目结构)直接放在C盘中。

答案 2 :(得分:1)

要添加@pramod的答案,阻止指南针构建的错误是“导入未找到或不可读的文件:指南针”是因为路径字符串上的NTFS限制为256个字符。

这也发生在我导入关于我的应用程序源的主题sass文件,这些文件必须尊重我的项目层次结构。

我认为指南针解决连接相对的绝对路径,浪费了很多字符(“C:\ a \ b \ c .... \ b \ c \ d”而不是“C:\ a \ b” \ C \ d“)。