当从一个管道输出到另一个管道输出时,是否可以使用node-sass和postcss autoprefixer生成完全有效的源映射?我目前在的package.json如下:使用node-sass和postcss autoprefixer生成带有npm脚本的源代码图
"scripts": {
"sass": "node-sass sass/app.scss --source-map true --source-map-embed true",
"postcss:autoprefixer": "postcss --use autoprefixer -b 'last 2 versions' --map",
"css": "npm run sass -s | npm run postcss:autoprefixer -s > css/app.css"
}
这将产生一个半工作直列sourcemap,但链接,原始文件是不正确的,那么点击它们在Chrome devtools不会加载它们(这似乎就像他们被处理为相对链接,然后从css文件夹中引用)。我试图通过向node-sass添加--source-map-contents true
选项来解决此问题,但随后autoprefixer错误地出现,我怀疑它是因为它不喜欢dataUri的行长度。
理想情况下,我宁愿输出单独的.map文件,但将node-sass选项设置为--source-map css/app.css.map
不会写出任何内容,大概是因为只有css输出到stdout。
对于单独的地图文件,你可以使用https://github.com/thlorenz /驱魔。 – RyanZim
你也可以让postcss为你写文件,并像这样传递地图文件名:'postcss [...] --map
@RyanZim我想避免在postcss任务本身输出如果需要,我可以继续在其他地方使用命令,但是驱魔师完美无缺,谢谢! – baseten