作为构建过程的一部分,我们运行一个 Grunt 任务,如下所示:
grunt release -r 3.9
与选项一起传递的版本号-r
用于标记版本的各个部分。
问题出现在以零结尾的版本——例如 3.10。Grunt 将其视为一个数字,去掉尾随的零并认为这是 3.1 版。
这是一个演示问题的简单 Gruntfile:
module.exports = function(grunt) {
grunt.registerTask('default', 'Release preparation', function () {
var rel = grunt.option("r").toString();
grunt.log.writeln("Release data type:" + typeof rel);
grunt.log.writeln("release (" + rel + ")");
});
};
这是你得到的:
$ grunt -r 3.10
Running "default" task
Release data type:string
release (3.1)
Done, without errors.
将toString()
其适当地转换为字符串,但损坏已经造成。尾随零消失了。
有什么办法吗?