Получите версию jQuery, которую Bower установил в генераторе Yeoman с помощью Grunt.

Я пишу свой первый генератор Yeoman. Для страницы index.html я ссылаюсь на размещенный файл jQuery в Google с локальным запасным вариантом. Я использую Bower для получения последней версии jQuery. Поэтому в настоящее время моя ссылка на jQuery выглядит так:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="assets/bower_components/jquery/jquery.min.js"><\/script>')</script>

Это не идеально, так как каждый раз, когда используется этот генератор, пользователю придется проверять, какую версию jQuery выбрал Bower, а затем обновлять раздел версии в размещенной ссылке с тем же номером версии.

Есть ли способ автоматически получить номер версии и обновить размещенный URL-адрес, предположительно с помощью Grunt?

Примечание. Я не ищу ссылку на последнюю размещенную версию и не хочу указывать, какую версию jQuery для Bower следует извлекать, поскольку я хочу, чтобы она была самой последней на момент создания.


person Fisu    schedule 09.10.2013    source источник


Ответы (1)


Да, взгляните на grunt-replace. Вот пример конфигурации, которая заменит ссылку:

    replace: {
        options: {
            patterns: [{
                match: '/@jQueryCDN/g',
                replacement: function() {
                    var jQconf = grunt.file.readJSON('bower_components/jquery/bower.json');
                    return '//ajax.googleapis.com/ajax/libs/jquery/' + jQconf.version + '/jquery.min.js'
                },
                expression: true
            }]
        },
        files: {
            src:  'static/index.html',
            dest: 'build/index.html'
        }
    }

Затем просто используйте @jQueryCDN, где вы хотите вставить путь. :)

person Ben    schedule 09.10.2013