less 4.0+默认关闭sourcemap,需显式配置:命令行用--source-map、less-loader设sourcemap: true,并确保.map文件生成、路径正确、源文件被devserver托管。

Less导出的CSS没有生成SourceMap,根本不是配置漏了,而是Less 4.0+默认彻底关闭该功能——不显式声明,就等于没开。
lessc 命令行编译必须加 --source-map
直接跑 lessc styles.less styles.css,输出的 styles.css 文件末尾压根不会有 /*# sourceMappingURL=styles.css.map */ 注释,浏览器连请求 .map 的机会都没有。
- 正确写法:
lessc --source-map=styles.css.map styles.less styles.css - 若用了
@import,建议追加--source-map-include-names,避免sources字段缩写成mixins.less这类不可定位路径 - 路径错位?用
--source-map-rootpath=/static/让sources变成["/static/src/variables.less"],再确保开发服务器能响应这个路径
Webpack 项目里 less-loader 的 sourceMap 必须显式设为 true
devtool: 'source-map' 对 CSS 完全无效,它只作用于 JS 层。Less 编译链是独立的,less-loader 默认 sourceMap: false,不写死就等于关着。
- 必须在
less-loader的options中写:sourceMap: true - 别信“继承 devtool”,Webpack 不会自动把
devtool透传给 CSS 相关 loader - 如果用了
mini-css-extract-plugin,还得配publicPath: '',否则sourceMappingURL会被写成绝对路径,部署在子路径下时直接 404
检查 .map 文件是否真被生成且可访问
别只看 CSS 文件末尾有没有注释,也别只点开 DevTools Sources 面板——先手动验证 .map 文件本身能否被浏览器直接请求。
- 用
curl https://localhost:8080/styles.css.map拿响应体,确认 JSON 合法、sources字段非空(如["/src/variables.less"]) - 对
sources里的每个路径,再curl -I一次,必须返回 200;出现 404 是路径配置和服务器托管范围不匹配,不是文件没生成 - 如果
sources里是webpack:///./src/variables.less这种协议路径,VS Code 或 Chrome 可能无法定位,得改用devtoolModuleFilenameTemplate: '[absolute-resource-path]'
最容易被忽略的是:Webpack Dev Server 默认不托管 .less 源文件,哪怕 .map 正确、路径可访问,DevTools 仍可能显示 “No sources found”。必须确保 devServer.static 或 devServer.watchFiles 明确包含 src/**/*.less。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











