我将grunt-critical安装到一个PHP项目中,并希望从动态呈现的页面生成CSS。我想最简单的方法是使用localhost作为HTML源。
所以我使用了官方的grunt任务示例并对其进行了调整:
critical: {
test: {
options: {
base: './',
css: [
'web/css/style.min.css'
],
width: 320,
height: 70
},
src: 'http://localhost:9000/',
dest: 'web/css/critical.css'
}
},
执行grunt critical
抛出错误:
Running "critical:test" (critical) task
Unhandled rejection Error: socket hang up
at createHangUpError (_http_client.js:203:15)
at Socket.socketOnEnd (_http_client.js:288:23)
at emitNone (events.js:72:20)
at Socket.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:893:12)
at doNTCallback2 (node.js:429:9)
at process._tickCallback (node.js:343:17)
没有请求到达web服务器。是我错过了一个依赖关系,还是这不是正确的方法?
(编辑)以前我认为PHP服务器返回一个错误,但它是无关的!服务器上没有请求日志
远程URL获取使用grunt-criticalcss NPM模块效果很好,将官方示例调整如下:
criticalcss: {
custom: {
options: {
url: "http://localhost:9000",
width: 1200,
height: 900,
outputfile: "web/css/critical.css",
filename: "web/css/style.css",
buffer: 800*1024,
ignoreConsole: false
}
}
},