вот пример обновления версии файла package.json используя задачу ворчания. (от 0,0,0 до 1,0,0 до 2,0,0);
module.exports = function(grunt) {
grunt.registerTask('version', function(key, value) {
var projectFile = "package.json";
if (!grunt.file.exists(projectFile)) {
grunt.log.error("file " + projectFile + " not found");
return true; //return false to abort the execution
}
var project = grunt.file.readJSON(projectFile), //get file as json object
currentVersion = project["version"].split('.');
currentVersion[lastIndex] = Number(currentVersion[0]) + 1
currentVersion = currentVersion.join('.');
project["version"] = currentVersion;
grunt.file.write(projectFile, JSON.stringify(project, null, 2));
});
}
теперь вы можете вызвать версию задачи, чтобы увеличить файл, написав
grunt version
или вы можете добавить его в свой производственный процесс, например:
module.exports = function(grunt) {
grunt.registerTask('buildProd', [
'version'
]);
};
Добро пожаловать на переполнение стека! Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. Также попробуйте не толковать код с пояснительными комментариями, что уменьшает читаемость кода и объяснений! –
ok, я улучшу комментарий, ty – giammangiato
Спасибо, я надеялся на способ просто написать значение свойства json, так же, как grunt может читать значения, но похоже, что это единственный способ сделать это. –