бесконечная петля

Я создал проект с грубыми часами (для файлов с кофе и scss). У меня проблема с бесконечным циклом.

вот мой файл Gruntfile.js:

'use strict';

module.exports = function(grunt) {

    require('load-grunt-tasks')(grunt);

    grunt.initConfig({

        coffeelint: {
            dist: ['coffee/*.coffee'],
            server: ['coffee/*.coffee']
        },

        coffee: {
            dist: {
                compile: {
                    files: {
                        'js/hscroll.js': 'coffee/*.coffee'
                    }
                }
            },
            server: {
                compileWithMaps: {
                    options: {
                        bare: true,
                        sourceMap: true
                    },
                    files: {
                        'js/hscroll.js': 'coffee/*.coffee',
                    }
                }
            }
        },

        uglify: {
            dist: {
                files: {
                    'js/hscroll.min.js': ['js/hscroll.js']
                }
            }
        },

        watch: {
            coffee: {
                files: ['coffee/*.coffee'],
                tasks: ['coffeelint:server', 'coffee:server']
            },
            compass: {
                files: ['sass/{,*/}*.{scss,sass}'],
                tasks: ['compass:server']
            }
        },

        compass: {
            dist: {
                options: {
                    sassDir: 'sass',
                    cssDir: 'stylesheets',
                }
            },
            server: {
                options: {
                    debugInfo: true,
                    sassDir: '/sass',
                    cssDir: '.tmp',
                    relativeAssets: false,
                    assetCacheBuster: false
                }
            }
        },

        clean: {
            dist: {
                files: [{
                    dot: true,
                    src: '.tmp'
                }]
            },
            server: '.tmp'
        },
    });

    grunt.registerTask('dist', ['clean:dist', 'coffeelint:dist', 'coffee:dist', 'compass:dist', 'uglify:dist']);

    grunt.registerTask('watch', [
        'clean:server',
        'coffeelint:server',
        'coffee:server',
        'compass:server',
        'watch'
    ]);
};

Когда я запускаю "ворчащие часы", он зацикливается, я не понимаю, почему?

Возможно, новичок задает вопросы, но любая помощь будет приветствоваться.

Благодарю.

Моя структура папок: hscroll> css.sass.cache (я использовал компас) coffee css sass stylesheets

grunt dist отлично работает.

Благодарю.

0
источник поделиться
2 ответа

Кажется, я нашел проблему. Зарегистрировав задачу, называемую watch которая сама вызывает задачу просмотра. Я создал цикл. Я просто удалил

grunt.registerTask('watch', [
        'clean:server',
        'coffeelint:server',
        'coffee:server',
        'compass:server',
        'watch'
]);

и добавил правильные задачи в конфигурацию часов, и теперь он работает!

+4
источник

вы можете переименовать исходную задачу "смотреть" плагина на собственный, например, "watchfiles". Должно работать следующее:

    watchfiles: {
        coffee: {
            files: ['coffee/*.coffee'],
            tasks: ['coffeelint:server', 'coffee:server']
        },
        compass: {
            files: ['sass/{,*/}*.{scss,sass}'],
            tasks: ['compass:server']
        }

...

grunt.renameTask('watch',
    'watchfiles');

grunt.registerTask('watch', [
    'clean:server',
    'coffeelint:server',
    'coffee:server',
    'compass:server',
    'watchfiles'
]);
+2
источник

Посмотрите другие вопросы по меткам или Задайте вопрос