2016-05-18 8 views
13

私はcss-loaderで動作するソースマップを取得するのに苦労しています。コンソールでwebpack css-loaderを使ったソースマップ

出力:

enter image description here

CSS-ローダーからのドキュメントは言う:

SourceMaps

To include SourceMaps set the sourceMap query param.

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

マイ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" } 
    ] 
    } 
} 

どのように私で

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

答えて

18
  1. ... 
    devtool: 'source-map' 
    ... 
    
  2. あなたにもサス・ファイルのソースマップを有効にすることもできます
  3. module: { 
        loaders: [ 
        ... 
        { 
         test: /\.scss$/, 
         loaders: [ 
         'style-loader', 
         'css-loader?sourceMap', 
         'sass-loader?sourceMap' 
         ] 
        }, { 
         test: /\.css$/, 
         loaders: [ 
         "style-loader", 
         "css-loader?sourceMap" 
         ] 
        }, 
        ... 
        ] 
    } 
    
  4. 使用extract text plugin WebPACKの経由source-mapsを有効にSASSをcludeあなたのCSSをファイルに解凍します。

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

遅れて申し訳ありませんが、私はこの問題を解決する必要があるときに私は離れていました。 'css-loader?sourceMap'を' sass'セクションに含めると、 'スタイルシートをロードするのが拒否されました 'というエラーが表示されます:http%3A // localhost%3A4004/c220aee3-8b79-49f8-b487-022859dbef73 'これは、以下のコンテンツセキュリティポリシーの指示に違反しているためです: "スタイル-src' self '' unsafe-inline '" '私はsassとcssモジュールを間違って使用しているのだろうかと疑問に思う –

+0

Ok私が設定したデータセキュリティは、例から取ったものです。今私はあなたの例を入れて、それは 'main.scss'ファイルから来ていることを私に示していますが、行番号やファイル名が正しく表示されないため、ソースマップはまだ動作しません。 –

+0

scssローダの '?sourcemap'パラメータが必要なものだったので、私はあなたの答えをアップ投票しています。 @D –

0

あなたのWebPACKの設定で設定する必要があるいくつかのプロパティがあります。

webpack devサーバーにはデフォルトでデバッグはありません。 configに設定する代わりに、-dまたは--debugフラグをCLI経由でwebpack-dev-serverに渡すこともできます。

+0

悲しいことに、これは私の結果を変えない。それでも、が検査官の中に表示されます –

+0

私は何かを見落としました。ソースマップは、私のpostcss設定によってオンに切り替えられました。 –

関連する問題