J'ai le webpack configuré pour transpiler scss -> css, mais sourcemap généré par webpack ne résout pas scss @import
s.La source-map de Webpack ne résout pas les importations de sass
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; }
Cependant, dans les outils de dev Chrome, je vois une référence à main.scss
où j'attends référence à _foo.scss
- voir la capture d'écran ci-dessous:
demo Compilé: http://store.amniverse.net/webpacktest/
Tout a noté qu'il ya actuellement un bug https://github.com/webpack-contrib/sass-loader/issues/351 de sorte qu'il ne peut pas être utilisé avec la sortie compressée, vous devez donc désactiver le mappage source sass pour la génération de production. Mais c'est toujours très utile!:) – amik
@amik En effet, bien que vous ne vouliez probablement pas avoir de cartes sources en production car c'est plus de code et de taille. –