Ich habe Webpack konfiguriert, um scss -> css zu transpilieren, aber Quellkarte von Webpack erstellt löst nicht scss @import
s.Webpack source-map löst Sass Importe nicht
webpack.config.js:
const 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,
})
]
};
main.scss:
@import 'foo';
_foo.scss:
h1 { color: red; }
jedoch in Chrome Entwickler-Tools, ich einen Verweis sehen zu main.scss
, wo ich Referenz auf _foo.scss
erwarte - siehe Screenshot unten:
kompilierte Demo: http://store.amniverse.net/webpacktest/
bemerken nur, dass es zur Zeit um einen Fehler https://github.com/webpack-contrib/sass-loader/issues/351 ist so, dass es nicht sein kann, Wird mit komprimierter Ausgabe verwendet, daher müssen Sie die Sass-Quellenzuordnung für den Produktions-Build deaktivieren. Aber es ist immer noch sehr nützlich!:) – amik
@Amik In der Tat, obwohl Sie wahrscheinlich keine Quellkarten in der Produktion haben wollen, da es mehr Code ist und in der Größe aufbaut. –