0

更新: grunt-bump プラグインは、セマンティック バージョニング フォーマットを満たすバージョンでのみ機能します。たとえば、test-2.0.0semver を満たしていないバージョンを使用すると、動作しません。

うなり声-cli v1.4.2

を使用して、必ずしも semver バージョンではない特定のバージョン文字列にGruntfile.jsmy を設定するにはどうすればよいですか? package.json私はgrunt-bumpプラグインを使用しているので、これを行います

Gruntfile.js

module.exports = function(grunt) {
  grunt.initConfig({
    bump: {
      options: {
        files: ['package.json', 'package-lock.json'],
        updateConfigs: ['pkg'],
        versionType: 'patch',
        ...
      },
      ...
  });
  ...

  var myTasks = [
    "task1",
    "clean",
    ....
    "compress"
  ];

  grunt.registerTask('build', 'Build version', function () {
      grunt.config('bump.options.setVersion', "tag-2.0.0");
      grunt.task.run(myTasks);
  });
};

...次に、コマンドラインでこれを行います...

$ npm grunt build

ただし、 にpackage.jsonは更新されません"version": "tag-2.0.0"。私は何が欠けていますか?

Gulp では、 を使用しgulp-pipeてファイルに書き込みます。

4

1 に答える 1

0

アップデート:

これを回答としてマークしましたが、それは間違った回答です。これにより、キーだけでなく、ファイル内のすべてのx.y.zバージョンが置き換えられます。package*.jsonversion

grunt-text-replaceプラグインを使用することになりました。

私は今これを持っています。

Gruntfile.js

module.exports = function(grunt) {
  gruntfile.initConfig ({
    replace: {
      pkg_versions: {
        src: ['./package*.json'],
        overwrite: true,  // overwrite matched source files in dist
        replacements: [{
          from: '<%= pkg.version %>', 
          to: '2.0.0'
        }]
      }
    }
  });
  ...
  var myTasks = [
    "task1",
    "clean",
    "replaceZ:pkg_version",
    ....
    "compress"
  ];
  ...
  grunt.registerTask('build', 'Build version', function () {
      grunt.task.run(myTasks);
  });
};
于 2022-02-04T16:07:14.720 に答える