手表触发后,让Grunt上传文件

时间:2015-04-20 17:58:15

标签: gruntjs grunt-contrib-watch

我正在使用SCSS的网站上工作。我们咕噜咕噜地看着那些文件将它们转换为css,但每次我们进行更改时,我们都必须切换到css文件并上传。也许不是什么大不了的事,但随着时间的推移它会增加不同的项目。

我希望手表进程运行ftpush一旦它看到一个变化,但我唯一的时间让它工作它保持在ftpush这意味着我们必须退出grunt然后再次运行它。如果在上传完成后(或特定时间过去)它将恢复监视任务将是有帮助的。

module.exports = function (grunt) {
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    sass: {
        options: {
            loadPath: ['bower_components/foundation/scss'],
            sourceMap: true
        },
        dist: {
            options: {
                style: 'expanded'
            },
            files: {
                'assets/css/app.css': 'assets/scss/app.scss'
            }
        }
    },
    ftpush: {
        build: {
            auth: {
                host: 'OUR HOST',
                port: 21,
                authKey: 'key1'
            },
            src: '../vhc-master',
            dest: '/var/www/html/vhc/dev/wp-content-themes/vhc-master'
        }
    },

    watch: {
        scripts: {
            files: ['Gruntfile.js'],
            tasks: ['ftpush'],
            options: {
                interrupt: true,
                reload: true
            }
        },

        sass: {
            files: 'assets/scss/*.scss',
            tasks: ['sass']
        }
    }
});

grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-ftpush');

grunt.registerTask('build', ['sass']);
grunt.registerTask('deploy', ['ftpush']);
grunt.registerTask('default', ['build','watch']);
}

0 个答案:

没有答案