在使用Grunt构建时,如何向index.html插入版本号?

时间:2013-10-04 09:22:40

标签: requirejs gruntjs

我正在使用Grunt构建我的应用程序,我想在每次提交时生成一个内部版本号。 我希望将此数字插入到我的index.html文件中,以便允许缓存清除。

我的index.html:

<html>
<head>
    <link type="text/css" rel="stylesheet" href="assets/css/main.css?v=<%VERSION%>" />
</head>
<body>
<script>
    //require global configuration
    var require = {
        "urlArgs": "v=<%VERSION%>"
    };
</script>
<!--entry point to application is main.js-->
<script data-main="main.js" src="assets/js/lib/require/require.js"></script>
</body>
</html>

所以我想替换&lt;%VERSION%&gt;在CSS链接和require配置中。

是否有任何Grunt任务可以做到这一点?我正在使用grunt-contrib-requirejs进行优化。这有帮助吗?

1 个答案:

答案 0 :(得分:2)

我最后保持简单,并使用grunt-text-replace插件将占位符(@@ BUST @@)替换为时间戳。

replace: {
            bust: {
                src: ['./target/*.html'],
                overwrite: true,                 // overwrite matched source files
                replacements: [
                    {
                        from: '@@BUST@@',
                        to: "<%= new Date().getTime() %>"
                    }
                ]
            }
        }