2015-09-22 65 views
0

我在開發過程中打開了2個選項卡(其中一個應用程序,另一個使用jasmine測試套件)。因此,我有2個browserify捆綁包(這似乎是this code),所以,我需要兩個gulp-livereload實例工作。這是我該怎麼辦:在gulp上運行兩個livereload實例

var livereloadTestSuite = require('gulp-livereload'); 
var livereloadDeveloperSuite = require('gulp-livereload'); // port 35728 

    appBundler.bundle() 
     .on('error', gutil.log) 
     .pipe(source('application.js')) 
     .pipe(gulpif(!options.development, streamify(uglify()))) 
     .pipe(gulp.dest(options.dest)) 
     .pipe(gulpif(options.development, livereloadDeveloperSuite())) // this line 
     .pipe(notify(function() { 
     console.log('APP bundle built in ' + (Date.now() - start) + 'ms'); 
     })); 

    testBundler.bundle() 
    .on('error', gutil.log) 
    .pipe(source('specs.js')) 
    .pipe(gulp.dest('./build/')) 
    .pipe(livereloadTestSuite()) 
    .pipe(notify(function() { 
     console.log('TEST bundle built in ' + (Date.now() - start) + 'ms'); 
    })); 

gulp.task('default', ['buildDependencies'], function() { 
    livereloadTestSuite.listen(); 
    livereloadDeveloperSuite.listen({ port: 35728, host: 'localhost' }); 

    // calling bundler & testBundler methods 

而且茉莉測試套件具有行

<script src="http://localhost:35729/livereload.js?snipver=1"></script> 

而且應用測試套件具有此行

<script src="http://localhost:35728/livereload.js?snipver=1"></script> 

茉莉花測試套件重裝成功在它的重新綁定,但開發套件根本不會重新加載。我不知道如何解決這個問題

回答

0

使用刪除所需模塊的NodeJS的完成緩存:

var livereloadTestSuite = require('gulp-livereload'); 
delete(require.cache[require.resolve('gulp-livereload')]); 
var livereloadDeveloperSuite = require('gulp-livereload');