時,我已經有了一個SASS編譯安裝在我的package.json如下標準輸入遇到最大線路長度:PostCSS cli來解釋sourcemap
"scripts": {
"sass": "node-sass sass/app.scss --source-map-root file://${PWD}/ --source-map-embed true",
"postcss:autoprefixer": "postcss --use autoprefixer -b 'last 2 versions' --map",
"css": "npm run sass -s | npm run postcss:autoprefixer -s | exorcist css/app.css.map > css/app.css"
}
這已運行正常了一段時間創建外部sourcemaps。然而最近,postcss拋出了一個未公開的評論錯誤。有問題的評論是sourceMappingURL的開始標記。 sourceMappingURL被node-sass作爲dataUri與--source-map-embed true
命令一起嵌入,這對於源映射完全可以使用此方法是必需的,因爲看起來node-sass不會將它們寫入文件(如果它的管道輸出爲標準輸出。
我猜dataUri已經有這麼長時間它打到某種最大線路長度。無論這個限制是在bash中(我在Mac OSX上),node.js還是postcss-cli我都不確定?這是我可以手動增加,還是有其他解決方法嗎?
更新: 經過進一步研究,這個問題似乎從read-file-stdin它返回從process.stdin一個不完整的文件阻止。我不太熟悉節點流,但read-file-stdin
依靠stream.pipe
來讀取數據,我相信使用gather-stream來收集流塊。但是這不起作用。如果我改變css
腳本如下:npm run sass -s | test.js
其中test.js
如下:
#!/usr/bin/env node
const gather = require('gather-stream');
process.stdin.pipe(gather(complete));
function complete (err, data) {
console.log(data.toString('utf8'));
}
控制檯輸出是不完整的文件
好吧,downvote評論也許是公平的,雖然有點苛刻。請在上面找到更新的問題。 – baseten