2013-08-20 59 views
0

我使用grunt-string-replace將pkg.version值(在grunt.initConfig中定義)添加到css文件名,以避免在版本更改時進行緩存。我還添加了一個函數,以便從版本字符串中刪除點。結果文件名如下所示:style.css?013訪問Gruntfile屬性

我可以在替換函數中使用initConfig pkg.version值,而不是從包文件再次讀取它?

這是我的字符串替換配置:

"string-replace": { 
    dist: { 
    files: { 
     "dist/test.html": "dist/test.html" 
    }, 
    options: { 
     replacements: [{ 
     pattern: '#pkgversion#', 
     replacement: function(){var p=grunt.file.readJSON('package.json'); return p.version.replace(/\./g ,'');}, 
     }] 
    } 
    }, 
}, 
+0

大概不會爲'function'創建一個新的範圍,很可能無法與覆蓋'this'調用。儘管你可以問Grunt插件作者這個功能。或發送PR。 –

回答

1

使用grunt.config.get方法。

例如:

replacement: function(){ 
    return grunt.config.get('pkg').version.replace(/\./g ,''); 
}