gpt4 book ai didi

javascript - Grunt 启动 Node Server,然后打开浏览器

转载 作者:行者123 更新时间:2023-12-03 10:01:19 27 4
gpt4 key购买 nike

我有启动服务器的 grunt 任务:

module.exports = function(grunt){ 
grunt.registerMultiTask('connect', 'Run a simple Node Server', function(){
var options = this.options();
// Tell Grunt this task is asynchronous.
var done = this.async();
var server = connect();
server.use(function(request, response, nxt){
...
});
server.listen(port);
});
};

现在我想先使用grunt启动这个 Node 服务器,然后使用grunt-open插件打开浏览器。

grunt.task.run(['startServer', 'open']);

但是当服务器继续监听时,startServer 任务会阻塞打开的任务。我该怎么做才能保持这个 Node 服务器运行并在服务器启动后打开浏览器?

最佳答案

我和你有同样的问题,我在Windows环境下工作。我的解决方案是将 Web 服务器代码放在一个文件中,例如 myServer.js,并在 grunt-exec 设置中使用 cmd: "start node\"path\to\myServer.js"

示例:

假设我的服务器文件位于以下路径:D:\SourceCodes\WebServer\myServer.js

我的服务器的IP地址和端口是192.168.1.1:8080

我的网页是index.html

那么 Gruntfile.js 将是:

module.exports = function (grunt) {
grunt.initConfig({
exec: {
run_server:{
cwd: "D:/SourceCodes/WebServer/",
cmd: "start node \"D:/SourceCodes/WebServer/myServer.js\""
},
open_web:{
cmd: "start chrome http://192.168.1.1:8080/index.html"
}
});

grunt.loadNpmTasks('grunt-exec');
grunt.registerTask('default', ['exec']);
}

关于javascript - Grunt 启动 Node Server,然后打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585223/

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