stereshko
@stereshko
Superman from Russia, St.-Petersburg

Как заставить wiredep проигнорировать одну строчку?

Доброго времени суток.

В моем gulpfile.js три таска.

Первый таск отвечает за компиляцию jade-шаблонов в html-файлы, подключает все зависимости из файла-манифеста bower.json с помощью плагина wiredep

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-->


Второй таск заменяет путь к JQuery на таковой из Google CDN с помощью плагина gulp-google-cdn

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

gulp.task('wiredep', function () {
    return gulp.src('./dist/index.html')
    .pipe(wiredep({
        ignorePath: '../src/bower_components/',
        exclude: 'jquery', // именно этой строчкой думал, что получится проигнорировать 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-->


А хочу получить вот такой, т.е. хочу, чтобы строчка с путями JQuery была проигнорирована

<!-- 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-->


Возможно ли это сделать?
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы