npm 命令行界面将版本号注入文件

Gar*_*son 3 build version npm

是否有任何 CLI 可以与npm脚本一起使用,将我的package.json版本注入到某个任意文件中?我不想使用 gulp 或 grunt 或 webpack 等。

Gar*_*son 5

这可以分三个部分完成。

事实证明,NPM 将包版本放在运行脚本npm_package_version时命名的环境变量中。

有一个名为的 NPM 包replace-in-file提供了用于替换字符串的 CLI。

不幸的是,Windows 上的环境变量替换格式(例如%FOO_BAR%)与 Linux 上的环境变量替换格式(例如 )不同$FOO_BAR。幸运的是,还有另一个 NPM 包cross-var可以使环境变量在不同平台上保持一致。

将它们放在一起,您可以使用以下脚本在目录中的所有文件x.x.x-SNAPSHOT中将 例如 替换为当前包版本:.exampledistpackage.json

scripts: {
  "build:insert-version": "cross-var replace-in-file \"x.x.x-SNAPSHOT\" \"$npm_package_version\" \"dist/*.example\""
}
Run Code Online (Sandbox Code Playgroud)