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」適用於我。 –