webpack4系列教程,如何设置css的sourcemap?
发布于 作者:苏南大叔 来源:程序如此灵动~

在webpack
中,目前来说,设置js
的sourcemap
比较容易,但是设置css
的sourcemap
就困难多了。因为css
的表现形式很多,有css
、scss
、less
,scss
和less
作为特殊的css
,是需要特殊处理的。

本文测试环境:win10
、node@14.2.0
、npm@6.14.4
、webpack@4.43.0
、mini-css-extract-plugin@0.9.0
、css-loader@3.5.3
、url-loader@4.1.0
、less@3.11.1
、less-loader@6.1.0
、node-sass@4.14.1
、sass-loader@8.0.2
、postcss@7.0.30
、postcss-loader@3.0.0
、webpack-px2rem-loader@1.0.2
。
基本设置
css-loader
、sass-loader
、less-loader
、还有postcss-loader
,都需要添加参数sourceMap:true
。所以,基本上来看,就是在webpack.config.js
里面,凭空多了很多个sourceMap:true
的项目。
对于一个css
/scss
/less
文件来说,有很多个loader
,如果其中一个没有配置上sourceMap:true
。那就可能是前功尽弃了。而且,通过上面的一个文章,可以看到:postcss
里面的px2rem
对scss
/less
文件的sourceMap
有影响。

下面的例子,是个scss
的配置,仅供参考。注意:css
/scss
/less
都需要做类似的设置:

重点就是满屏幕的sourceMap:true
,相关的loader
都要加上,除了px2rem
和MiniCssExtractPlugin
。然后,就是devtool
这个值,要配置一个合适的值。在这里,苏南大叔配置的是:
相关链接:

整体的效果就是:
浏览器调试效果
效果还不错,css
的sourcemap
调试效果如下:


相关链接
- https://newsn.net/say/webpack-css.html
- https://newsn.net/say/webpack-less.html
- https://newsn.net/say/webpack-scss.html
- https://newsn.net/say/webpack-px2rem.html
- https://newsn.net/say/webpack-sourcemap.html
- https://newsn.net/say/webpack-start.html
总结
在本文中,因为设置了devtool: 'inline-source-map'
,可能会影响js
的sourcemap
调试。这个,具体的以后文章再进行讨论。更多webpack
系列文章,请点击下面的链接:


