不幸的是,grunt-contrib-watch和grunt-contrib-connect似乎表现不佳。
在 grunt-contrib-connect自述文件中它说:
请注意,该服务器仅在 grunt 运行时运行。一旦 grunt 的任务完成,Web 服务器就会停止。可以使用 keepalive 选项更改此行为,并且可以通过运行诸如 grunt connect::keepalive 之类的任务来临时启用此行为。
美好的。但是,如果我想与连接服务器一起运行我的监视任务怎么办?像这样:
connect: {
server: {
options: {
port: 8000,
hostname: 'localhost',
keepalive: true
}
}
},
watch: {
options: {
livereload: true
},
files: ['**'],
tasks: ['connect'],
}
在这里,connect
任务在文件更改时运行。如果我将 connect 的keepalive
选项设置为 true,则 grunt-contrib-watch 将停止观看,因为它在技术上还没有完成它的任务。如果我伪造了该keepalive
选项,那么连接服务器在完成任务后就会死机。
是的,我可以运行命令...
$ grunt connect
$ grunt watch
...在单独的外壳中,但是没有办法用一个命令运行它们吗?