0

我有三个吞咽任务:

第一个任务 - 将所有的翡翠文件编译成 html,使用 bower.json 中的wiredep 插件注入我所有的 css 和 js

/* Compile jade templates to html files in app directory */
gulp.task('jade', function() {
    gulp.src(config.path.dev.jade + '/index.jade')
    .pipe(jade({
        pretty: '\t'
    }))
    .pipe(wiredep({
        ignorePath: '../'
    }))
    .pipe(gulp.dest('./src'))
    .pipe(notify(config.message.jadeCompiled))
});

任务后的结果:

<!-- bower:js-->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/nodernizr-dev/modernizr-latest.js"></script>
<!-- endbower-->

第二个任务 - 从 bower.json 获取最新版本的 jQuery 并使用 gulp-google-cdn 插件更改 URL

/* Change JQuery from bower directory to Google CDN URL */
gulp.task('cdn', function () {
     return gulp.src('./src/index.html')
        .pipe(googlecdn(require('./bower.json')))
        .pipe(gulp.dest('./dist'))
        .pipe(notify(config.message.cdnComplete))
});

任务后的结果:

<!-- bower:js-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="bower_components/nodernizr-dev/modernizr-latest.js"></script>
<!-- endbower-->

第三个任务 - 再次使用wiredep插件来改变我的生产路径

/* Normalize paths to production */
gulp.task('wiredep', function () {
    return gulp.src('./dist/index.html')
    .pipe(wiredep({
        ignorePath: '../src/bower_components/',
        exclude: 'jquery',
        fileTypes: {
            html: {
                replace: {
                    js: '<script src="js/vendor/{{filePath}}"></script>',
                    css: '<link rel="stylesheet" href="css/vendor/{{filePath}}" />'
                }
            }
        }
    }))
    .pipe(gulp.dest('./dist'))
});

我有这个结果

<!-- bower:js-->
<script src="js/vendor/nodernizr-dev/modernizr-latest.js"></script>
<!-- endbower-->

但我只想像这样忽略一个字符串(我的 Google CDN URL 所在的位置)

<!-- bower:js-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="js/vendor/nodernizr-dev/modernizr-latest.js"></script>
<!-- endbower-->
4

0 回答 0