1

我正在开发使用Firefox(最新版本41.0.1)的前端应用程序,但之前也有此问题。使用bower资源的Firefox“样式文档无法加载”

Im处理* .sass带​​有Gulp-Sass,Sourcemap-Support等文件的文件。

这里样式任务:

var paths = { 
    folders : { 
    css:  'public/assets/css', 
    sass:  'public/src/sass' 
    }, 
    files : { 
    css:  'public/assets/css/**/*.css', 
    sass:  'public/src/sass/**/*.sass' 
    } 
}; 

gulp.task('styles', function() { 

if(compileOnly != false) { 
    var srcFile = compileOnly; 
} else { 
    var srcFile = paths.files.sass; 
} 

var processors = [ 
    autoprefixer({ 
    browsers: ["last 2 versions", "> 1%", "ie 8"], 
    map: true 
    }), 
    nano({ 
    safe: true // Disables Z-Index remanufacturing 
    }), 
    pxtorem({ 
    replace: false, 
    prop_white_list: ['padding', 'margin', 'width', 'height', 'min-width', 'min-height', 'max-width', 'max-height', 'font', 'font-size', 'line-height', 'letter-spacing', 'top', 'left', 'bottom', 'right'], 
    selector_black_list: ['body', 'html'] 
    }), 
    postcssrgba({ 
    properties: [ "background-color", "background", "color", "border", "border-color", "outline", "outline-color", "box-shadow", "text-shadow" ] 
    }) 
] 

return gulp.src([srcFile],{base: paths.folders.sass}) 
    .pipe(plumber({ errorHandler: onError })) 
    .pipe(sourcemaps.init()) 
    .pipe(sass({sourcemap: true, style: 'compact'})) 
    .pipe(postcss(processors)) 
    .pipe(sourcemaps.write('.'))    // Source Map Generation 
    .pipe(gulp.dest(paths.folders.css))     // Output 
    .pipe(notify({ message: 'Styles task complete' })); 
}); 

一切正常,都是beeing产生sourcemaps,和Firefox的开发人员工具显示正确来源:http://jmp.sh/NfErzKf

但是,当我点击的一个这些资源,我只得到这个错误:

“Style-Document could not be loaded。http://****/assets/bower/uikit/scss/core/nav.scss”(Free translation,since我的系统语言是德语)

该文件在那里,没有任何限制。

当我用一个没有依赖关系的新鲜sass文件进行测试时,一切都很好。 Chrome根本没有问题。 只有Firefox,当我包括鲍尔依赖关系。 它可能是Sass和Scss文件的混合?

问候

回答

2

了大量的研究和试验后&错误,我可以跟踪下来一点。

所以首先,错误只发生在鲍尔(或者该层上的任何其他文件夹)中。如果我从那里注释掉所有@import,一切都没问题。

解决方案: 由于Firefox的支持sourceRoot的sourcemaps是有点马车(same issue in browserify),我建议将其删除,因为一饮而尽,sourcemaps添加它每默认。

您可以通过空传递给该选项删除它在sourcemap:

.pipe(plugins.sourcemaps.write('.', { 
    sourceRoot: null 
})) 
+0

真诚的,我不能让你的解决方案能够正常工作。 Source-Roots仍然不正确。 但我得到了一个解决办法,让他们是正确的: 我只是把映射文件中的子文件夹: '.pipe(sourcemaps.write(” ./图))' 现在来源加载正确,但现在我得到了错误的行号感谢postcss ... – Lars

+1

谢谢。 “sourceRoot:null”适用于我。 –