gpt4 book ai didi

gruntjs - 是否可以在监视任务之后运行任务?

转载 作者:行者123 更新时间:2023-12-02 16:09:40 32 4
gpt4 key购买 nike

我有一个基于 PHP 的项目,无法在 grunt-php 上运行。相反,我使用 grunt-exec运行我的 MAMP 服务器进行开发。

exec: {
serverup: {
command: '/Applications/MAMP/bin/start.sh'
},
serverdown: {
command: '/Applications/MAMP/bin/stop.sh'
}
}

在我的自定义开发任务中,我在监视任务之前运行 MAMP 启动脚本。然后,我在退出监视任务后尝试停止 MAMP 服务器。

grunt.registerTask('default', ['jshint', 'concat', 'compass:dev', 'exec:serverup', 'watch', 'exec:serverdown']);

但是,如果我使用 Ctrl-C 退出任务,exec:serverdown 任务似乎永远不会运行。有什么办法可以让这个工作吗?由于服务器永远不会关闭,因此该端口会一直被占用,直到我手动运行停止脚本为止,如果我在关闭默认任务之前尝试再次运行默认任务,则会出现错误。

如果没有,是否有其他方法可以完成同样的事情?

最佳答案

您可以监听 SIGINT 并运行脚本:

var exec = require('child_process').exec;
process.on('SIGINT', function () {
exec('/Applications/MAMP/bin/stop.sh', function () {
process.exit();
});
});

module.exports = function (grunt) {};

关于gruntjs - 是否可以在监视任务之后运行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17710568/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com