在预版本步骤中获取版本

getting version during preversion step

我正在使用一个名为 babel-plugin-inline-package-json 的包在我的构建步骤中提取我的版本号。当前使用语义发布包版本始终是 0.0.0 而不是正确的版本号。我使用 npm preversion 命令设置 semantic-release 来触发构建。我的印象是,当语义释放触发预版本时,它已经将新版本插入 package.json,但我一直得到 0.0.0。提取版本号以便我可以在构建步骤中获取它的正确方法是什么?

semantic-release 不会直接触发 npm preversion,它 运行s npm version 然后 npm publishnpm hook scripts (preversion, postversion, prepack, postpack, prepublish, prepublishOnly, postpublish, prepare) 由 npm 本身触发。

正如它的名字所建议的那样,钩子 preversion 运行 就在版本更新之前。需要在版本更新后运行使用postversion hook

有关详细信息,请参阅:How can I use a npm build script that requires the package.json’s version ?