Html 通过gulp将脚本的src从bower_组件更改为cdn
我有一些脚本标签Html 通过gulp将脚本的src从bower_组件更改为cdn,html,node.js,optimization,gulp,cdn,Html,Node.js,Optimization,Gulp,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-me
<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,就可以很容易地进行控制。您可以利用更改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 '));
});
即使对于没有cdn属性的脚本,它也保留了其原始名称。谢谢:)