webpackはscss - > cssにトランスペアレントに設定されていますが、webpackによって生成されたsourcemapはscss @import
を解決しません。Webpackのsource-mapでsassのインポートが解決されない
webpack.config.js:
main.scssconst path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const outputPath = path.join(__dirname, 'dist');
module.exports = {
devtool: 'source-map',
entry: ['./src/main.scss'],
target: 'web',
output: {
filename: 'js/[name].bundle.js',
path: outputPath
},
module: {
rules: [
{ // sass/scss loader for webpack
test: /\.(sass|scss)$/,
loader: ExtractTextPlugin.extract([
{
loader: 'css-loader',
options: {
url: false,
import: true,
minimize: true,
sourceMap: true,
}
},
'sass-loader'
])
},
]
},
plugins: [
new ExtractTextPlugin({ // define where to save the file
filename: 'css/[name].bundle.css',
allChunks: true,
})
]
};
:
は@import 'foo';
_foo.scss:
h1 { color: red; }
しかし、クロームのdevのツールで、私はリファレンスを参照してくださいmain.scss
へ_foo.scss
への参照が必要です - 下のスクリーンショットを参照してください:
コンパイルデモ:http://store.amniverse.net/webpacktest/
はちょうどそれをすることはできませんように、バグhttps://github.com/webpack-contrib/sass-loader/issues/351が現在があることを指摘しています圧縮された出力と一緒に使用されるので、プロダクションビルド用のsassソースマッピングを無効にする必要があります。しかしそれはまだ大いに役立ちます!:) – amik
@amik実際には、ソースコードをコードにしてサイズを増やすので、ソースマップを制作したくないかもしれません。 –