Grunt.js永远观看

时间:2013-03-25 18:29:38

标签: node.js gruntjs forever

目标:

我正在尝试在watch中作为守护程序运行Gruntfile.js任务。

通常,我会执行以下脚本:grunt watch

Gruntfile.js:

module.exports = function(grunt) {

  grunt.initConfig({
    concat: {
      options: {
        separator: ''
      },
      dist: {
        src: ['static/js/**/*.js'],
        dest: 'app.js'
      }
    },
    watch: {
      files: ['<%= concat.dist.src %>'],
      tasks: ['concat']
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-concat');
};

问题:

如何生成 grunt watch 作为守护程序?

更新

似乎已经考虑了这个问题:
https://github.com/shama/grunt-hub#watching-forever
https://github.com/shama/grunt-hub/issues/3

2 个答案:

答案 0 :(得分:3)

您可以使用https://github.com/nodejitsu/forever exmaple

forever start gruntstart.js

gruntstart.js:

var exec = require('child_process').exec;

exec('grunt watch > log/grunt.log',
    function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
           console.log('exec error: ' + error);
        }
});

答案 1 :(得分:0)

我是javascript的新手,但我解决了这个问题: tmux

  1. 一个用于简单操作的窗格,如git等。
  2. 其他用于“ grunt watch
  3. 即使我关闭控制台 tmux也会继续并观看:D
    http://i.imgur.com/9L04OGe.jpg