Gruntjs 获取Bower使用Grunt在Yeoman生成器中安装的jQuery版本

Gruntjs 获取Bower使用Grunt在Yeoman生成器中安装的jQuery版本,gruntjs,yeoman,bower,yeoman-generator,Gruntjs,Yeoman,Bower,Yeoman Generator,我正在写我的第一个约曼发电机。对于index.html页面,我引用了Google上托管的jQuery文件,其中包含一个本地回退。我正在使用Bower获取最新版本的jQuery。因此,当前我的jQuery引用如下所示: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <script>window.jQuery || document.write(

我正在写我的第一个约曼发电机。对于index.html页面,我引用了Google上托管的jQuery文件,其中包含一个本地回退。我正在使用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>

window.jQuery | | document.write(“”)
这并不理想,因为每次使用此生成器时,用户都必须检查Bower获取的jQuery版本,然后使用相同的版本号更新托管链接中的版本部分

是否有一种方法可以自动获取版本号并更新托管的url(可能使用Grunt)

注意:我没有寻找最新托管版本的链接,也不想指定Bower要获取的jQuery版本,因为我希望它是创建时最新的版本。

是的,请查看。下面是一个将替换链接的示例配置:

    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.:)

是的,看一看。下面是一个将替换链接的示例配置:

    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.:)