grunt新手,我正在尝试将快速服务器添加到我的AngularJS应用程序中(由Yoeman生成)。
我已经修改了以下任务:
grunt.registerTask('server', function () {
grunt.log.writeln('Starting web server on port 8080.');
var server = require('./server.js');
server.listen(8080);
});
我的server.js看起来像这样:
var express = require('express');
var app = module.exports = express();
app.get('/', function(req, res){
res.send('hello world');
});
运行server task
会产生以下输出:
Running "server" task
Starting web server on port 8080.
Done, without errors.
如果我在端口8080上我的本地主机,我可以看到服务器处于脱机状态。很明显,任务退出了。为什么?为了让基本服务器启动并运行,我需要添加到Gruntfile中?
编辑:我想我需要以某种方式为我的任务添加一个keepalive选项,我只是不确定如何。
答案 0 :(得分:1)
您需要将其作为异步任务运行。这样做:
grunt.registerTask('server', function () {
grunt.log.writeln('Starting web server on port 8080.');
var server = require('./server.js');
server.listen(8080).on('close',this.async());
});
答案 1 :(得分:0)
请在https://github.com/blai/grunt-express
查看grunt-express此插件允许您使用自己的快速应用程序脚本启动快速服务器。
请注意,只要grunt正在运行,此服务器就会运行。一旦grunt的任务完成,Web服务器就会停止。可以通过在任务列表末尾添加express-keepalive任务来更改此行为