提问者:小点点

将npm命令的输入写入变量,但仅写入特定部分


在我的项目根目录中,我有一个package.json。 在进行配置项构建时,我试图从文件中捕获版本属性。 由于我在一个节点容器上运行,所以下面的命令是可能的。

node-p-e require('。/package.json').version

我在package.json的scripts属性中包含了上面的内容

  "scripts": {
     "version": "node -p -e require('./package.json').version"
   },

我在一个变量中捕获它,使用

导出版本=$(npm运行版本)

这似乎比npm命令捕获的结果要多得多。 构建环境是构建在RHEL7上的Nodejs10容器。

jq是不可用的,没有它的东西可能会更好

有什么建议吗?


共1个答案

匿名用户

Packege.json可以使用以下模式引用自身

$NPM_PACKAGE_PROP[_SUB_PROP][_SUB_SUB_PROP]

  "version": "1.0.0",
  "scripts": {
    ...
    "version": "echo $npm_package_version"
  },
npm run version # output: 1.0.0

相关问题