2016-05-18 38 views
13

Sto lottando per ottenere sourcemaps lavorando con css-loader.Sourcemaps con webpack css-loader

uscita in consolle:

enter image description here

Che la documentazione da CSS-loader dice:

SourceMaps

To include SourceMaps set the sourceMap query param.

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

mio 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" } 
    ] 
    } 
} 

Come faccio a clude il sass

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') 
) 

risposta

18
  1. Abilita source-maps via webpack

    ... 
    devtool: 'source-map' 
    ... 
    
  2. Si potrebbe voler consentire fonte-maps per Sass-Files e

    module: { 
        loaders: [ 
        ... 
        { 
         test: /\.scss$/, 
         loaders: [ 
         'style-loader', 
         'css-loader?sourceMap', 
         'sass-loader?sourceMap' 
         ] 
        }, { 
         test: /\.css$/, 
         loaders: [ 
         "style-loader", 
         "css-loader?sourceMap" 
         ] 
        }, 
        ... 
        ] 
    } 
    
  3. Usa extract text plugin per estrarre il tuo css in un file.

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

Scusate per il ritardo, ero assente solo quando avevo bisogno di sistemarlo: D. Se includo 'css-loader? SourceMap' nella sezione' sass' ottengo il seguente errore: 'Rifiutato di caricare il foglio di stile 'blob: http% 3A // localhost% 3A4004/c220aee3-8b79-49f8-b487-022859dbef73 'perché viola la seguente direttiva Content Security Policy: "style-src' self '' unssafe-inline '". "Mi chiedo se sto usando sass e il modulo css in modo errato –

+0

Ok l'errore di cui sopra era dovuto alla meta la sicurezza dei dati che avevo impostato, presa da un esempio. Ora ho impostato il tuo esempio e l'ho mostrato che proviene dal file 'main.scss', ma i sourcemaps non funzionano ancora perché non mostra correttamente il numero di riga o il nome del file. –

+0

Sto svalutando la tua risposta perché i parametri '? Sourcemap' nel caricatore di scss erano ciò che era necessario. @ D –

0

ci sono alcune proprietà che è necessario impostare nella configurazione webpack.

{ 
    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 
    ... 
} 

Il server di sviluppo Webpack non ha il debug attivato per impostazione predefinita. Invece di impostarlo nella configurazione, puoi anche passare il flag -d o --debug su webpack-dev-server tramite la CLI.

+0

Purtroppo questo non cambia il mio risultato. Mostra ancora il all'interno dell'ispettore –

+0

Hai ragione Ho trascurato qualcosa. Le mappe di origine sono state attivate dalla mia configurazione postcss. –

Problemi correlati