2016-11-11 18 views
5

Tôi có một dự án Ionic 1.3.1 với kiến ​​trúc dựa trên, cũ nhưng vàng, máy phát điện-gulp-góc mà tôi muốn kích hoạt Live Reload trên thiết bị (Android).Cấu hình Tải lại trực tiếp trên một dự án Ionic dựa trên máy phát điện-gulp-góc

ngụm đường dẫn cấu hình của tôi trông giống như:

exports.paths = { 
    src: 'src', 
    dist: 'www', 
    tmp: '.tmp', 
    e2e: 'e2e' 
}; 

này có nghĩa là để chạy các dự án trong trình duyệt tôi sử dụng gulp serve và chạy trong thiết bị Android của tôi sử dụng gulp build && ionic run android.

Tôi không thể sử dụng lệnh ionic run android --livereloadas described in the doc here vì nó đồng bộ hóa thư mục www trong đó (sau gulp build) Tôi có tệp được rút gọn chứ không phải tệp nguồn.

Vì vậy, tôi muốn kết hợp theo một cách nào đó hai lệnh gulp serveionic run android --livereload nhưng chân thành tôi không biết cách đạt được điều này.

+0

hello, bạn có thể kiểm tra liên kết này https://codepen.io/leob6/post/quick-tip-using-gulp-to-customize-the-serve-run-and-build-process-for-your -ứng dụng-khung-ứng dụng – arjunaaji

Trả lời

3

Tôi đã giải quyết cập nhật tác vụ gulp watch của mình mỗi khi có thay đổi, nó chạy gulp build trong khi lệnh ionic run android --livereload đang chạy.

tôi đã thêm một lá cờ --livereload-gulp watch tôi, vì vậy tập tin /gulp/watch.js của tôi trông giống như:

gulp.task('watch', ['inject'], function() { 

    var livereload = process.argv.length === 4 && process.argv[3] === '--livereload'; 

    gulp.watch([path.join(conf.paths.src, '/*.html'), 'bower.json'], ['inject-reload']); 

    gulp.watch([ 
    path.join(conf.paths.src, '/app/**/*.css'), 
    path.join(conf.paths.src, '/app/**/*.scss'), 
    path.join(conf.paths.src, '/scss/*.scss') 
    ], function(event) { 
    if (livereload) { 
     gulp.start('build'); 
    } else { 
     if(isOnlyChange(event)) { 
     gulp.start('styles-reload'); 
     } else { 
     gulp.start('inject-reload'); 
     } 
    } 
    }); 

    gulp.watch(path.join(conf.paths.src, '/app/**/*.js'), function(event) { 
    if (livereload) { 
     gulp.start('build'); 
    } else { 
     if(isOnlyChange(event)) { 
     gulp.start('scripts-reload'); 
     } else { 
     gulp.start('inject-reload'); 
     } 
    } 
    }); 

    gulp.watch(path.join(conf.paths.src, '/app/**/*.html'), function(event) { 
    if (livereload) { 
     gulp.start('build'); 
    } else { 
     browserSync.reload(event.path); 
    } 
    }); 
}); 

Làm thế nào để sử dụng:

trên một tab thiết bị đầu cuối:

ionic run android --livereload 

và, trên một tab thiết bị đầu cuối khác:

gulp watch --livereload 

Tận hưởng!

Các vấn đề liên quan