Tôi muốn thay thế chuỗi số phiên bản cho biết trong tệp javascript (myConstantsFile.js
), bằng một chuỗi khác. Vì vậy, ví dụ, số phiên bản của tôi trông như thế này: "01.11.15", được viết như thế này trong myConstantsFile.js
với các hằng số khác:Làm thế nào để tăng số phiên bản thông qua nhiệm vụ Gulp?
.constant('productVersion', '1.11.15');
Ngay bây giờ, nhiệm vụ của tôi trông như thế này:
gulp.task('increment-version', function(){
gulp.src(['./somedir/myConstantsFile.js'])
.pipe(replace(/'productVersion', '(.*)'/g, '99.99.99'))
.pipe(gulp.dest('./somedir/'));
});
như bạn thấy, tôi đang sử dụng một hằng số, không chạy incrementation code, mà sẽ trông như thế này:
var numberString = '0.0.1';
var versionParts = numberString.split('.');
var vArray = {
vMajor : versionParts[0],
vMinor : versionParts[1],
vPatch : versionParts[2]
}
vArray.vPatch = parseFloat(vArray.vPatch) + 1;
var periodString = ".";
var newVersionNumberString = vArray.vMajor + periodString +
vArray.vMinor+ periodString +
vArray.vPatch;
tôi cần:
- Cách để chọn số phiên bản hiện tại qua regex qua tệp.
- Để biết nơi tôi có thể đặt logic trong khối mã cuối cùng để tăng số lượng và tạo chuỗi mới.
gì về ngụm-vết sưng? https://www.npmjs.com/package/gulp-bump – cl3m
Từ kinh nghiệm trước đây, hãy giữ số bản dựng của bạn trong tệp riêng của nó (trong trường hợp này, thậm chí có thể là JSON). Khi sed thay thế trong một tập tin mã cuối cùng gây ra một vấn đề, nó sẽ được damn gần như không thể tìm ra. – ssube
@ cl3m Có vẻ tốt, tôi đang xem xét chức năng. Vấn đề chính của tôi là lựa chọn cơ bản của dữ liệu thông qua regex để làm việc với và nơi để đặt các vars/chức năng của tôi. Đây là lần đầu tiên tôi làm bất cứ điều gì với gulp, ngoài việc chạy trình duyệt đồng bộ hóa và như vậy. ssube - đó là một ý tưởng hay, nhưng vấn đề là các hằng số góc cần phải rút ra khỏi nó. – VSO