2016-05-18 25 views
13

Css-loader ile çalışan sourcemaps almak için uğraşıyorum. konsoldaWebpack css yükleyici ile Sourcemaps

Çıktı:

enter image description here

css-yükleyici belgeleri ne diyor:

SourceMaps

To include SourceMaps set the sourceMap query param.

require("css-loader?sourceMap!./file.css")

Benim webpack.config

var webpack = require('webpack') 

module.exports = { 
    entry: './src/client/js/App.js', 

    output: { 
    path: './public', 
    filename: 'bundle.js', 
    publicPath: '/' 
    }, 

    plugins: process.env.NODE_ENV === 'production' ? [ 
    new webpack.optimize.DedupePlugin(), 
    new webpack.optimize.OccurrenceOrderPlugin(), 
    new webpack.optimize.UglifyJsPlugin() 
    ] : [], 

    module: { 
    loaders: [ 
     { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react' }, 
     { test: /\.scss$/, loaders: ['style', 'css', 'sass']}, 
     { test: /\.css$/, loader: "style-loader!css-loader?sourceMap!./file.css" }, 
     { test: /\.png$/, loader: "url-loader?limit=100000" }, 
     { test: /\.jpg$/, loader: "file-loader" } 
    ] 
    } 
} 

nasıl i

import React from 'react' 
import { render } from 'react-dom' 
import { Router, browserHistory } from 'react-router' 
import routes from './routes' 
import '../scss/main.scss' 

render(
    <Router routes={routes} history={browserHistory}/>, 
    document.getElementById('app') 
) 

cevap

18
  1. ... 
    devtool: 'source-map' 
    ... 
    
  2. Siz de Sass-Files için kaynak-haritalar etkinleştirmek isteyebilirsiniz
  3. module: { 
        loaders: [ 
        ... 
        { 
         test: /\.scss$/, 
         loaders: [ 
         'style-loader', 
         'css-loader?sourceMap', 
         'sass-loader?sourceMap' 
         ] 
        }, { 
         test: /\.css$/, 
         loaders: [ 
         "style-loader", 
         "css-loader?sourceMap" 
         ] 
        }, 
        ... 
        ] 
    } 
    
  4. Kullanım extract text plugin WebPack aracılığıyla source-maps etkinleştirme küstahlığı clude css'inizi bir dosyaya ayıklamak için.

    ... 
    plugins: [ 
        ... 
        new ExtractTextPlugin('file.css') 
    ] 
    ... 
    
+0

Gecikme için özür dilerim, bu düzeltmeyi almam gerektiğinde uzaktaydım: D. 'Sss' bölümünde 'css-loader? SourceMap' öğesini eklediğimde şu hatayı alıyorum: 'Stil sayfasını yüklemeyi reddetti 'blob: http% 3A // localhost% 3A4004/c220aee3-8b79-49f8-b487-022859dbef73 'çünkü aşağıdaki İçerik Güvenliği Politikası yönergesini ihlal ediyor: "style-src' self '' güvensiz satır içi" ".Sass ve css modülünü yanlış kullanıyorum acaba –

+0

Yukarıdaki hata meta nedeniyle oldu. Bir veriden aldığım veri güvenliği. Şimdi ben senin örnek koymak koymak ve ben 'main.scss' dosyasından olduğunu gösteren var ama sourcemaps hala doğru bir çizgi numarası veya dosya adını göstermiyor gibi çalışmıyor. –

+0

Cevabınızı destekliyorum çünkü scss yükleyicisindeki 'sourcemap' paramları gereken şeydi. @D –

0

Eğer webpack config ayarlamak gereken bazı özellikler vardır.

{ 
    output: { 
     ... 
    }, 

    debug: true, // switches loaders into debug mode 
    devtool: 'eval-cheap-module-source-map', // or one of the other flavors, not entirely sure if this is required for css source maps 
    ... 
} 

Webpack dev sunucusu varsayılan olarak hata ayıklama yapamaz. Yapılandırmanızda ayarlamak yerine, -d veya --debug bayrağını CLI aracılığıyla webpack-dev-server'a da geçirebilirsiniz.

+0

Ne yazık ki bu benim sonuçumu değiştirmiyor. Halen denetçisinin içinde –

+0

gösteriliyor. Haklısınız. Kaynak haritaları, postcss yapılandırmam tarafından açıldı. –

İlgili konular