我using Webpack 4
使用插件MiniCssExtractPlugin
和OptimizeCSSAssetsPlugin
来提取SCSS
文件并缩小生产中的main.css
文件。我在配置文件中启用了源映射,如下所示:
const path = require('path');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
module.exports = {
devtool: "source-map",
entry: {
style: './src/scss/main.scss'
},
output: {
path: path.resolve(__dirname, "dist"),
filename: '[name].bundle.js'
},
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { url: false, sourceMap: true } }
]
},
{
test: /\.scss$/,
use: [
'style-loader',
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
url: false, sourceMap: true
}
},
{
loader: 'sass-loader',
options: {
sourceMap: true
}
}
]
}
]
},
plugins: [
new MiniCssExtractPlugin({
sourceMap: true,
filename: "main.css"
}),
new UglifyJsPlugin({
sourceMap: true,
test: /\.js($|\?)/i,
}),
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: {
map: {
inline: true
}
}
}) ,
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
})
]
}
在控制台中,它确实给出了CSS规则来源的行,但是在捆绑的main.css
文件中,而不是invididual scss文件,即_layout.scss
,_buttons.scss
。
问题
我要添加哪些配置才能显示CSS规则的来源,而不是它在捆绑的main.css
文件中的位置?
答案 0 :(得分:1)
正如我在sass-loader
配置中看到的那样,您已经获得了scss
个文件的源地图(以确认您需要一个与您同名的文件) css,但名称上有.map
,因此您唯一需要的是将浏览器配置为加载和使用源映射。此示例使用Google Chrome:
/*# sourceMappingURL=style.css.map */
引用那应该有用。让我知道。否则我会对快速教程进行微调。