我可以使用Aglio重新加载样式,模板和变量吗?

时间:2016-10-13 15:06:10

标签: javascript gulp livereload apiblueprint aglio

我无法使用Aglio的gulp选项或connectlivereload的{​​{1}}选项以及gulp-aglio选项重新加载LESS和Jade文件插件。

这是由于缓存吗?或者connect的实时重载功能的限制?

进行更改渲染的唯一方法是ctrl-C并再次运行gulp。

这是我的gulpfile.js:

var 
    gulp = require('gulp'),  
    aglio = require('gulp-aglio'),
    connect = require('gulp-connect'),
    plumber = require('gulp-plumber'),
    watch = require('gulp-watch')
;

gulp.task('docs', function(){  
    gulp
        .src('docs/index.apib')
        .pipe(plumber())
        .pipe(aglio({
            themeTemplate: 'docs/templates/triple.jade', 
            themeStyle: 'docs/styles/layout-default.less', 
            themeVariables: 'docs/styles/variables-default.less', 
            themeFullWidth: true
        }))
        .pipe(gulp.dest('docs'))
    ;
});

gulp.task('server', function(){  
    connect.server({
        livereload: true,
        root: ['docs']
    });
});

gulp.task('livereload', ['docs'], function(){  
    gulp
        .src(['docs/*.apib'])
        .pipe(plumber())
        .pipe(connect.reload())
    ;
});

gulp.task('watch', function() {  
    gulp.watch(['docs/*.apib', 'docs/*.md', 'docs/styles/*.less', 'docs/templates/*.jade'], ['docs', 'livereload']);
})

gulp.task('default', ['docs', 'server', 'livereload', 'watch']);
gulp.task('build', ['docs']);  

1 个答案:

答案 0 :(得分:0)

目前无法做到这一点。 livereload功能仅用于重新加载输入API Blueprint文件。所有主题文件都被缓存,因此只能加载一次。

问题:此功能的用例是什么?