나는 grunt build를 가지고있다. 거기에 grunt-bump
및 grunt-replace
있습니다. 나는 grunt-bump
을 사용하여 실행할 때마다 pkg.json
에 하나의 버전을 올려 놓습니다. grunt-replace
을 실행할 때마다 index.js
버전을 pkg.json
버전 번호로 바꿔야합니다. 그러나 일단 변수 @@ 패키지가 바뀌면 변수는 더 이상 존재하지 않기 때문에 반복해서 할 수 없습니다.Grunt에서`index.js` 파일의 버전을 대체하기 위해`pkg.json` 버전을 변수로 반복적으로 가져 오는 방법이 있습니까?
Gruntfile.js :
이module.exports = function(grunt) {
grunt.initconfig({
pkg: grunt.file.readjson('package.json'),
bump: {
options: {
files: ['package.json'],
updateconfigs: [],
commit: false,
commitmessage: 'release v%version%',
commitfiles: ['package.json'],
createtag: false,
tagname: 'v%version%',
tagmessage: 'version %version%',
push: false,
pushto: 'upstream',
gitdescribeoptions: '--tags --always --abbrev=1 --dirty=-d',
globalreplace: false,
prereleasename: false,
metadata: '',
regexp: false
}
},
replace : {
dist : {
options : {
patterns : [
{
match: 'packageJsonVersion',
replacement: '<%= pkg.version %>';
}
]
},
files : [
{
expand : true,
flatten : true,
src : [ 'index.html' ],
dest : './'
},
]
}
},
});
grunt.loadnpmtasks('grunt-bump');
grunt.loadnpmtasks('grunt-replace');
grunt.registertask('default', ['uglify']);
};
index.html을 : 보통
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script src="[email protected]@packageJsonVersion.js"></script>
</body>
</html>
네, 지난 주에 제가 끝난 것입니다. – 7537247