Я пробовал несколько вещей, но я не могу заставить sourceMap работать в любом браузере.
Он генерирует style.css.map рядом с style.css, но в браузере я вижу только style.css. Я разделяю js и css, а также разделяю admin и front-end, когда они доступны. Есть ли что-то очевидное, что я должен попробовать? Вот мой webpack.config:
// Return array of configurations
module.exports = function ( env ) {
return exportModules([js, css], env);
};
/**
* Merge filetype configs with shared config and return them as an array of objects.
* @param objs
* @param env
* @return {Array}
*/
const exportModules = (objs, env) => {
const objArr = [];
for(let i = 0; i < objs.length; i++){
objArr.push({
...config(env),
...objs[i]
});
}
return objArr;
};
// Shared config options
const config = function ( env ) {
return {
watch: env === 'watch',
watchOptions: {
ignored: [/node_modules/]
},
stats: {
colors: true
},
devtool: 'source-map'
}
};
// Config for JS files
const js = {
entry: {
'main.js' : `${__dirname}/src/js/main.es6.js`,
//'admin.js' : `${__dirname}/src/js/admin.es6.js`,
},
output: {
path: `${__dirname}/build/js`,
filename: '[name]'
},
module: {
rules: [
{ test: /\.js$/, use: { loader: 'babel-loader' }, exclude: /node_modules/ },
]
}
};
// Config for SCSS files
const css = {
entry: {
'style.css' : `${__dirname}/src/scss/style.scss`,
'admin.css': `${__dirname}/src/scss/admin.scss`
},
output: {
path: `${__dirname}/build/css`,
filename: '[name]'
},
module: {
rules: [
{
test: /\.scss$/,
exclude: /node_modules/,
// module chain executes from last to first
use: [
{
loader: 'file-loader?sourceMap',
options: { name: '[name].css', outputPath: '../css/' }
},
{ loader: 'extract-loader?sourceMap' },
{ loader: 'css-loader?sourceMap', options: { url: false, sourceMap: true } },
{ loader: 'resolve-url-loader', options: { publicPath: null } },
{ loader: 'sass-loader?sourceMap', options: { sourceMap: true } }
]
},
]
}
};