2016-08-31 63 views
2

我有一些腳本標記變化src指向CDN雖然吞掉

<script type="text/javascript" src="bower_components/angular/angular.min.js" cdn="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 

<script type="text/javascript" src="bower_components/angular-messages/angular-messages.min.js" cdn="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-messages.min.js"></script> 

,我想更改爲

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-messages.min.js"></script> 

我試過cdnify,但我們必須在所有代碼吞噬本身。 我想從HTML文件本身進行更多控制,因此如果我使用不同的cdn url,它將很容易控制。

回答

1

您可以利用gulp-replace改變你的HTML文件,並使用正則表達式/src="(.+?)"\scdn="(.+?)"/gmi

這應該工作:即使對腳本

var replace = require('gulp-replace'); 

gulp.task('replace-cdn', function(){ 
    gulp.src(['index.html']) 
    .pipe(replace(/src="(.+?)"\scdn="(.+?)"/gmi, 'src="$2"')) 
    .pipe(gulp.dest('build ')); 
}); 
+1

沒有** ** CDN屬性它保留了一部開拓創新。謝謝 :) – shri