尽管 gulp 将脚本的 src 从 bower_components 更改为 cdn

Change src of script from bower_components to cdn though gulp

我有一些脚本标签

<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,但我们必须在 gulp 中对所有内容进行编码。 我想从 HTML 文件本身获得更多控制,因此如果我使用不同的 cdn url 将很容易控制。

您可以利用 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=""'))
    .pipe(gulp.dest('build '));
});