gruntfile.js - grunt.registerTask

时间:2013-06-17 13:18:17

标签: javascript task gruntjs runner

不确定我是否正确行事......

module.exports = function(grunt) {
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json') ,
    connect: {
        server: {
            options: {
                port: 8001 ,
                hostname: 'localhost' ,
                base: 'www-root/app/public' ,
                keepalive: true
            }
        }
    } ,
    jade: {
        files: {
            src: 'app/components/jade/index.jade' ,
            dest: 'app/public/index.html' 
        }
    } ,
    compass: {
        options: {
            config: 'config.rb'
        }
    } ,
    watch: {
        css: {
            files: '**/*.sass' ,
            tasks: ['sass'] ,
            options: {
                livereload: true
            }
        } ,
        jade: {
            files: 'app/components/**/*.jade' ,
            tasks: ['jade'] ,
            options: {
                livereload: true
            }
        }
    } 
});

grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jade');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.registerTask('default', ['connect', 'jade', 'compass', 'watch']); 
}   

每次我运行grunt时,它只显示连接任务,并且没有其他任何事情发生,例如当我更改我的index.jade文件时...我按顺序组织任务的方式是否有问题或者我应该添加什么东西异步运行任务?

不知道该怎么办..谢谢!

1 个答案:

答案 0 :(得分:3)

Grunt Connect Documentation

  

keepalive:让服务器无限期保持活着。请注意,如果启用此选项,则此任务后指定的任何任务将永远不会运行。

因此,您需要在“默认”作业中重新排序任务列表:

grunt.registerTask('default', ['jade', 'compass', 'connect']);

或类似的东西。希望有所帮助;)